当前位置: 代码迷 >> J2EE >> 压缩图片,透明背景色变黑有关问题
  详细解决方案

压缩图片,透明背景色变黑有关问题

热度:102   发布时间:2016-04-17 23:11:02.0
压缩图片,透明背景色变黑问题
用BufferedImage、JPEGImageEncoder压缩图片,背景为透明的图片压缩后背景变成黑色,其他图片压缩却正常,这是怎么回事,有什么解决的方法吗?图片需要与原图片尺寸一直,不能缩小图片长宽。
原图:

压缩后:


BufferedImage tag = new BufferedImage((int) newWidth,(int) newHeight, 
                           BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(img.getScaledInstance(newWidth, newHeight,
                        Image.SCALE_SMOOTH), 0, 0, null);
FileOutputStream out = new FileOutputStream(outputFile);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(tag);
out.close();

------解决思路----------------------
透明图片有4个通道:ARGB
PNG不能转换为JPG压缩的,JPG是不带透明色的,不然你找一张带透明色的JPG格式图片出来。。。。
  相关解决方案