Revision: 3958 http://openutils.svn.sourceforge.net/openutils/?rev=3958&view=rev Author: fgiust Date: 2012-05-06 12:20:23 +0000 (Sun, 06 May 2012) Log Message: ----------- MEDIA-285 remove usage of com.sun.image.codec.jpeg.JPEGCodec Modified Paths: -------------- magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java Modified: magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java =================================================================== --- magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java 2012-05-06 09:09:36 UTC (rev 3957) +++ magnoliamodules/branches/magnolia44/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java 2012-05-06 12:20:23 UTC (rev 3958) @@ -56,6 +56,7 @@ import javax.imageio.ImageTypeSpecifier; import javax.imageio.ImageWriteParam; import javax.imageio.ImageWriter; +import javax.imageio.plugins.jpeg.JPEGImageWriteParam; import javax.imageio.stream.ImageOutputStream; import javax.jcr.Node; import javax.jcr.PropertyType; @@ -77,10 +78,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.sun.image.codec.jpeg.JPEGEncodeParam; -import com.sun.image.codec.jpeg.JPEGImageEncoder; - /** * Main utility class that works with images and media nodes * @author molaschi @@ -696,14 +694,27 @@ { if (extension.equals("jpg")) { - JPEGImageEncoder encoder = com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(out); + JPEGImageWriteParam iwparam = new JPEGImageWriteParam(null); + if (quality != 1.0f) { - JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(image); - param.setQuality(quality, true); - encoder.setJPEGEncodeParam(param); + iwparam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); + iwparam.setCompressionType("JPEG"); + iwparam.setCompressionQuality(quality); } - encoder.encode(image); + else + { + iwparam.setCompressionMode(ImageWriteParam.MODE_COPY_FROM_METADATA); + } + + ImageWriter iw = ImageIO.getImageWritersByFormatName("jpg").next(); + ImageOutputStream ios = ImageIO.createImageOutputStream(out); + iw.setOutput(ios); + iw.write(null, new IIOImage(image, null, null), iwparam); + iw.dispose(); + ios.close(); + + image.flush(); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |