vytvorenie thumbnail obrazku
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();
Re: vytvorenie thumbnail obrazku
Zdravím.. ?lo vy pou?ít t?eba toto: http://jalbum.net/developer.jsp Nebo se tím inspirovat a vytáhnout z toho, jen to, co pot?ebujete, --- P?vodní zpráva --- Odesilatel: [EMAIL PROTECTED] <[EMAIL PROTECTED]> P?edm?t: vytvorenie thumbnail obrazku Datum: 17. dubna 2006, 11:28:23 (GMT +0200) P?ílohy: msgid:[EMAIL PROTECTED] i> Ahojte, i> vo WEB aplikacii potrebujem vytvarat maly nahlad (thumbnail) na obrazok. Na nete i> som nasiel nasledujuci zdrojak, ktory pouzivam, ale bohuzial nefunguje spravne i> pre GIF obrazky, ale len pre JPG. nemate niekto zdrojak, ktory by fungoval pre i> vsetky najpouzivanejsie graficke formaty (jpg, gif, png). i> dakujem. i> Ivan i> momentalne pouzivam zdrojak: i> FileInputStream in = new FileInputStream(originalFileName); i> com.sun.image.codec.jpeg.JPEGImageDecoder decoder = i> com.sun.image.codec.jpeg.JPEGCodec.createJPEGDecoder(in); i> BufferedImage originalImage = decoder.decodeAsBufferedImage(); i> in.close(); i> int newdim[] = newDimensions(originalImage.getWidth(null), i> originalImage.getHeight(null)); i> java.awt.image.BufferedImage thumbImage = new i> java.awt.image.BufferedImage(newdim[0],newdim[1], i> java.awt.image.BufferedImage.TYPE_INT_RGB); i> java.awt.Graphics2D graphics2D = thumbImage.createGraphics(); i> graphics2D.setRenderingHint(java.awt.RenderingHints.KEY_INTERPOLATION, i> java.awt.RenderingHints.VALUE_INTERPOLATION_BILINEAR); i> graphics2D.drawImage(originalImage, 0, 0, newdim[0],newdim[1], null); i> FileOutputStream out = new FileOutputStream(filename); i> com.sun.image.codec.jpeg.JPEGImageEncoder encoder = i> com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(out); i> com.sun.image.codec.jpeg.JPEGEncodeParam param = i> encoder.getDefaultJPEGEncodeParam(thumbImage); i> //writeParam.setCompressionMode(JPEGImageWriteParam.MODE_EXPLICIT); i> param.setQuality(0.9f, false); i> encoder.setJPEGEncodeParam(param); i> encoder.encode(thumbImage); i> out.close(); Konec p?vodní zprávy -- - Tomá? Procházka E-mail: [EMAIL PROTECTED] WWW: http://atom.sf.cz ICQ: 87147320 -
Re: vytvorenie thumbnail obrazku
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();
Re: vytvorenie thumbnail obrazku
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
Re: vytvorenie thumbnail obrazku
Zdravím,jestli se nepletu, patenty Unisysu na LZW kompresy, která je použita v GIFu, už vypršely. Období "GIFy se vrátily" bylo někdy asi před rokem nebo dvěma.Tak podle Wikipedie americký patent vypršel v roce 2003, evropský, japonský a kanadský v roce 2004. Americký patent IBM na to samé :-) (no jo, patenty...) vyprší 11. srpna 2006, ale IBM nikdy nepožadovalo za použití poplatky. http://en.wikipedia.org/wiki/GIF#Unisys_and_LZW_patent_enforcementTakže konkrétně patentu na LZW už se není nutné bát. Filip Jirsák2006/4/18, Cyril Sochor <[EMAIL PROTECTED]>: Zdravim,pro zmensovani obrazku pouzivame JAI, ktery umi mnoho formatu. Pouzeukladani 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(); -- Filip Jirsák[EMAIL PROTECTED]
Re: vytvorenie thumbnail obrazku
Kdyz uz pouzivate neverejne tridy ImageIO z JRE (napr. JPEGImageDecoder apod.), ktere byste nemel primo pouzivat, tak proc uz rovnou nepouzijete legalni API ImageIO...? :-) Napr. viz. // cteni obr. http://javaalmanac.com/egs/javax.imageio/BasicImageRead.html // zapis http://javaalmanac.com/egs/javax.imageio/Graphic2File.html // ImageIO api http://java.sun.com/j2se/1.4.2/docs/api/javax/imageio/ImageIO.html dal viz google: ImageIO ImageIO mi prijde jednodussi nez JAI, hlavne proto, ze neni treba nic doinstalovavat do JDK. Navic ImageIO co je v JRE uz umi cist i zapisovat (krome JPEG a PNG) i GIF. petr __ > Od: [EMAIL PROTECTED] > Komu: konference@java.cz > CC: > Datum: 17.04.2006 11:29 > Předmět: vytvorenie thumbnail obrazku > > 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(); >