Java Bilde API Tutorial

Java API gir deg et stort bibliotek av standard klasser som eksisterer for å gjøre oppgaver - som ville være komplisert og tidkrevende i henhold til språk som C - blir relativt raskt og feilfritt. Et eksempel på dette er Java Bilde API.

Hva bilde API kan gjøre

Java Bilde API kan hente, lagre, skjerm (med hjelp av en GUI bibliotek som AWT eller Swing), endre størrelse og konvertere mellom de fleste vanlige bildeformater. Som standard, leser javax.imageio pakken fra PNG, JPG / JPEG og GIF-format, og kan skrive til alle disse formatene med unntak av gif, men disse listene kan utvides med tredjepartspakker som kalles plug-ins.

Legge et bilde

Den sentrale klasse for å holde et bilde i Java API er BufferedImage (se referanse en), så lager:

BufferedImage bilde

For å laste bildet, må du gi BufferedImage konstruktør en standard fil objekt med en bane og filnavn som peker til bildefilen, og siden du har tilgang til filsystemet, må du fange en mulig IOException, i Dersom bildefilen ikke finnes.

try {
image = ImageIO.read (new File (\ "candycane.jpg \"))

} Catch (IOException e) {
System.err.println (\ "FEIL: Bildet finnes ikke \")

}

Dette vil laste bildefilen candycane.jpg innenfor arbeidskatalog.

Endre størrelse

Endre størrelsen på et bilde er enkelt. Forutsatt at du allerede har lastet opp bildet til en BufferedImage variabel kalt bildet, vil du kjøre følgende kommandoer:

int BREDDE = 100

int height = 100

BufferedImage resizedImage = (BufferedImage) image.getScaledInstance (bredde, høyde, BufferedImage.SCALE_DEFAULT)

Den endelige argumentet til getScaledInstance spesifiserer hva slags resizing algoritme vil bli brukt. SCALE_DEFAULT er et godt alternativ, men enkelte programmer kan kreve at andre, som kan sees i BufferedImage (se \ "Ressurser, \" nedenfor).

Vise

Til slutt, lære å vise et bilde. For dette trinnet, bør du allerede har opprettet et JPanel for bildet å bli trukket til, og du trenger å overstyre denne JPanel maling (Graphics g) -funksjonen som følger:

public void paint (Graphics g) {
int XPOS = 0

int YPOS = 0

g.drawImage (resizedImage, XPOS, YPOS, null)

}

Du vil aldri kalle denne malingen funksjonen selv; Dette gjøres automatisk når det er nødvendig av Java GUI motoren. Koden ovenfor vil trekke skaleres bildet øverst til venstre i JPanel vinduet.