Ahojte,

tiez pouzivam JAI, ukladanie do GIFu mi az tak nevadilo, mam to spravene
tak, ze nahladove obrazky su vzdy JPG. Naviac su cachovane na disku
(kvoli vykonu), takze je na to servlet, ktory kontroluje ci uz ho ma na
disku a ked nie, vygeneruje a posle.

No ale ked vam zacnu ludia na server nahravat 3Mpix a viac fotky, server
sa vam za chvilu z toho pototo... Takze potom som to zacal riesit tak,
ze je mozne web aplikacii nakonfigurovat ci ma pouzivat prikaz convert z
balika ImageMagick, to je podstatne rychlejsie a je to dostupne na win
aj linux.


Cyril Sochor wrote:
Zdravim,
pro zmensovani obrazku pouzivame JAI, ktery umi mnoho formatu. Pouze ukladani GIFu neumi, nebot je to patentovany... Nacitat GIFy umi. Mustang by to uz mel umet, patent nekdy tedka vyprsi...

Lze take sehnat specialni knihovnicku pro ukladani GIFu, ktera na patenty kasle...


Cyril Sochor


[EMAIL PROTECTED] wrote:
Ahojte,

vo WEB aplikacii potrebujem vytvarat maly nahlad (thumbnail) na obrazok. Na nete som nasiel nasledujuci zdrojak, ktory pouzivam, ale bohuzial nefunguje spravne pre GIF obrazky, ale len pre JPG. nemate niekto zdrojak, ktory by fungoval pre
vsetky najpouzivanejsie graficke formaty (jpg, gif, png).

dakujem.

Ivan

momentalne pouzivam zdrojak:

FileInputStream in = new FileInputStream(originalFileName);

com.sun.image.codec.jpeg.JPEGImageDecoder decoder =
com.sun.image.codec.jpeg.JPEGCodec.createJPEGDecoder(in);

BufferedImage originalImage = decoder.decodeAsBufferedImage();

in.close();

int newdim[] = newDimensions(originalImage.getWidth(null),
originalImage.getHeight(null));

java.awt.image.BufferedImage thumbImage = new
java.awt.image.BufferedImage(newdim[0],newdim[1],
java.awt.image.BufferedImage.TYPE_INT_RGB);

java.awt.Graphics2D graphics2D = thumbImage.createGraphics();

graphics2D.setRenderingHint(java.awt.RenderingHints.KEY_INTERPOLATION,
java.awt.RenderingHints.VALUE_INTERPOLATION_BILINEAR);

graphics2D.drawImage(originalImage, 0, 0, newdim[0],newdim[1], null);

FileOutputStream out = new FileOutputStream(filename);

com.sun.image.codec.jpeg.JPEGImageEncoder encoder =
com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(out);

com.sun.image.codec.jpeg.JPEGEncodeParam param =
encoder.getDefaultJPEGEncodeParam(thumbImage);

//writeParam.setCompressionMode(JPEGImageWriteParam.MODE_EXPLICIT);

param.setQuality(0.9f, false);

encoder.setJPEGEncodeParam(param);
encoder.encode(thumbImage);

out.close();



--
jeeff

Odpovedet emailem