Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

:: java advanced imagingds :: 36APG - JAI david sedláček javaai/jai/index.html.

Podobné prezentace


Prezentace na téma: ":: java advanced imagingds :: 36APG - JAI david sedláček javaai/jai/index.html."— Transkript prezentace:

1 :: java advanced imagingds :: 36APG - JAI david sedláček http://sedli.mysteria.cz/APG http://java.sun.com/developer/onlineTraining/ javaai/jai/index.html

2 :: java advanced imagingds :: java – awt Základní práce s obrázky GIF, JPG, PNG –java.awt.Image –java.awt.image –java.awt.Toolkit getImage( String name ); drawImage( …, ImageObserver ); createImage( …, ImageProducer ) ;

3 :: java advanced imagingds :: awt – nacteni a vykresleni obr. void nactiAVykresli() { Toolkit t = this.getToolkit(); img = t.getImage(“image.jpg”); repaint(); }

4 :: java advanced imagingds :: java.awt.Graphics2D Rozšíření původního awt GIF,JPG,PNG –BufferedImage – Double buffering –Filtry Shrapen, Blur – filtry ostrosti Transformation - transforamace ClipImage - ořezávání obrázku Rendering kvality – alpha, antialiasing, color, dithering, interpolation, render. Speed …

5 :: java advanced imagingds :: //vytvoření a využití doublebufferingu bi = (BufferedImage)createImage(w, h); big = bi.createGraphics(); big.setColor(Color.white); big.drawImage(img); //vykreslení celého obrázku g2.drawImage(bi, 0, 0, this);

6 :: java advanced imagingds ::

7 :: java advanced imagingds :: Java Advanced Imaging API Zvláštní knihovna com.sun.media.jai.codec com.sun.media.jai.codecimpl –nevýhoda – není v SDK, problémy s instalací –výhoda – může se vyvíjet „samostatně“ –ale není jisté zda to tak zůstane K běhu nepotřebuje awt –zobrazovat bez awt nejde Mnohá rozšíření oproti Graph2D

8 :: java advanced imagingds :: podporované formáty BMP GIF (pouze dekodér) FlashPix (pouze dekodér) JPEG PNG PNM TIFF WBMP

9 :: java advanced imagingds :: //načtení ze souboru String filename = „jmeno.format”; RenderedImage image = JAI.create("fileload", filename); //načtení z adresy URL url = „adresa.cz“ RenderedImage image = JAI.create(„url", url); ic = new ImageDisplay(image); //ic se přiřadí panelu nebo canvasu

10 :: java advanced imagingds :: //ukládání obrázku RenderedImage image= „ukladany obr“; String filename = „jmeno souboru“; String format = „format souboru“; RenderedOp op = JAI.create(„filestore“, image, filename, format);

11 :: java advanced imagingds :: jak JAI pracuje JAI je plně objektové – jako java Na zásobníkovém principu –Každý obrázek má vlastní parametrový blok (RenderedOp, ParameterBlock ) –Postupně se zpracovávají paramatery směrem od kořene Rendered / Renderable graphs

12 :: java advanced imagingds :: jak JAI pracuje

13 :: java advanced imagingds :: //vytvoření operátorů RenderedOp im0 = JAI.create("constant", param1); RenderedOp im1 = JAI.create("constant", param2); //spojení obrázků dohromady RenderedOp im2 = JAI.create("add", im0, im1);

14 :: java advanced imagingds :: JAI class javax.media.jai –Jádro JAI javax.media.jai.iterator –Rozšířené operace javax.media.jai.operator –Hlavní Operátory javax.media.jai.widget –Zobrazování – scrollingWindow atd.

15 :: java advanced imagingds :: operátory Point –add, and,composite, divide, invert, max ….. Area –border, boxFilter, convolve, crop, medianFilter Geometrics –affine, rotate, scale, shear, translate, warp Color Quantization –errorDiffusion, orderedDither

16 :: java advanced imagingds :: operátory File –AWTImage, BMP, encode, fileLoad, fileStore, format, GIF, stream, URL,... Frequency –conjugate,DCT, DFT, phase, polarToComplex Statistical –Extrema, histogram, mean Edge Extraction, Miscelaneous

17 :: java advanced imagingds :: operátory ParameterBlock pb = new ParameterBlock(); pb.addSource(src1); pb.addSource(src2); target = JAI.create("add", pb, null); //add, subtract, multiply, divide

18 :: java advanced imagingds :: JAI Rendering Hints HINT_BORDER_EXTENDER HINT_IMAGE_LAYOUT –Width, height, minX, minY, colorModel,… HINT_INTERPOLATION HINT_OPERATION_BOUND HINT_PNG_EMIT_SQUARE_ PIXELS

19 :: java advanced imagingds :: JAI Rendering Hints layout = new ImageLayout(); layout.setMinX(200); layout.setMinY(200); RenderingHints rh = new RenderingHints(JAI.KEY_IMAGE_LAYOUT, layout); // scale operace PlanarImage im2 = (PlanarImage)JAI.create("scale", pb, layout)

20 :: java advanced imagingds :: hodnocení JAI ++ ‡Podporované formáty ‡Jednoduché použití (přes operátory) ‡Client-Server podpora ‡Dobrá spolupráce s AWT -- –Není v SDK ani 1.5

21 :: java advanced imagingds :: zdroje http://java.sun.com/products/java- media/jai/forDevelopers/jai1_0_1guide-unc/ http://java.sun.com/developer/onlineTraining/jav aai/jai/index.html


Stáhnout ppt ":: java advanced imagingds :: 36APG - JAI david sedláček javaai/jai/index.html."

Podobné prezentace


Reklamy Google