Java API giver dig et stort bibliotek af standard klasser, der eksisterer for at gøre opgaver - hvilket ville være kompliceret og tidskrævende under sprog som C - blevet relativt hurtig og fejlfrit. Et eksempel på dette er den Java Billede API. Hvad billedet API Can Do
Java Billede API kan indlæse , gemme, vise ( med hjælp af en GUI -bibliotek som AWT eller Swing ) , ændre størrelse og konvertere mellem de fleste almindelige billedformater . Som standard læser javax.imageio pakken fra png, jpg /jpeg og gif formater, og kan skrive til alle disse formater med undtagelse af gif, selvom disse lister kan udvides med tredjeparts pakker kaldet plug -ins.
indlæse et billede
centrale klasse for at holde et billede i Java API er BufferedImage ( se reference én) , så skaber : Hej
BufferedImage billede,
For at indlæse billedet , skal du nødt til at give BufferedImage konstruktøren en standard fil objekt med en sti og filnavn peger på din billedfil , og siden du har adgang til filsystemet , skal du at fange en eventuel IOException , i tilfælde af at billedet filen ikke eksisterer
try { image = ImageIO.read (ny File ( " candycane.jpg ")); } . catch ( IOException e ) { System.out.println ( "FEJL : Image findes ikke" );}
Dette vil indlæse billedfilen candycane.jpg i din arbejdsmappe
Resize .
ændre størrelse på et billede, er nemt. Forudsat at du allerede indlæst billedet til en BufferedImage variabel kaldet billede , ville du køre følgende kommandoer : Hej
int WIDTH = 100; int HØJDE = 100; BufferedImage resizedImage = ( BufferedImage ) image.getScaledInstance ( bredde, højde , BufferedImage.SCALE_DEFAULT )
sidste argument for at getScaledInstance angiver , hvilken type resizing algoritme vil blive brugt. SCALE_DEFAULT er en god mulighed , men nogle programmer kan kræve andre, som kan ses i BufferedImage (se " Resources " nedenfor ) .
Display
sidst lære hvordan du får vist et billede. For dette trin , bør du allerede har oprettet en JPanel til dit billede , der kan drages til og du bliver nødt til at tilsidesætte denne JPanel s maling ( Graphics g ) funktion som følger : Hej
public void paint ( Graphics g ) { int XPOS = 0; int YPOS = 0; g.drawImage ( resizedImage , XPOS , YPOS , null );}
Du vil aldrig kalde denne maling funktion selv, det sker automatisk når det er nødvendigt af Java GUI motor . Ovenstående kode vil henlede Deres ændrede billede øverst til venstre på din JPanel vinduet.