Java API ger dig ett stort bibliotek av vanliga klasser som finns för att göra arbetsuppgifter - vilket skulle vara komplicerat och tidskrävande enligt språk såsom C - bli relativt snabb och felfri . Ett exempel på detta är Java Image API . Vad Bild API kan göra
Java Image API kan ladda, spara , visa ( med hjälp av ett GUI -bibliotek som AWT eller Swing ) , ändra storlek och konvertera mellan de flesta vanliga bildformat . Som standard läser javax.imageio paketet från png , jpg /jpeg och gif- format , och kan skriva till alla dessa format med undantag av gif , även om dessa listor kan utökas med tredjeparts paket som kallas plug - ins . Addera Laddar en bild
centrala klassen för att hålla en bild i Java API är BufferedImage ( se referens en ) , så skapar :
BufferedImage image ;
att ladda bilden , måste du ge BufferedImage konstruktören en standard File-objekt med en sökväg och filnamn pekar på din bildfil , och eftersom du har åtkomst till filsystemet , behöver du att fånga en eventuell IOException , i händelse av att bildfilen inte finns
try { image = ImageIO.read ( new File ( " candycane.jpg " ) ) ;} . fångsten ( IOException e ) { System.err.println ( " FEL : bild existerar inte " ) ;}
Detta kommer att ladda bildfilen candycane.jpg inom din arbetskatalog Addera ditt Resize .
storleksändra en bild är lätt. Förutsatt att du redan har laddat bilden till en BufferedImage variabel kallad image , skulle du köra följande kommandon :
int WIDTH = 100 ; int HEIGHT = 100 ; BufferedImage resizedImage = ( BufferedImage ) image.getScaledInstance ( bredd, höjd , BufferedImage.SCALE_DEFAULT );
sista skäl för getScaledInstance anger vilken typ av storleksändring algoritm kommer att användas. SCALE_DEFAULT är ett bra alternativ , men vissa applikationer kan kräva andra , vilket kan ses i BufferedImage ( se " Resurser " nedan ) .
Display
Slutligen , lär hur du vill visa en bild . För detta steg , bör du redan har skapat en JPanel för din bild att dras till , och du måste åsidosätta denna JPanel s paint ( Graphics g ) fungerar enligt följande :
public void paint ( Graphics g ) { int xpos = 0; int ypos = 0; g.drawImage ( resizedImage , xpos , ypos , null ) ; }
Du kommer aldrig att kalla denna färg funktionen själv , detta görs automatiskt vid behov av Java GUI motorn. Ovanstående kod kommer att dra din ändrade bilden längst upp till vänster i din JPanel fönster .