Java 压缩为jpeg时,png文件变为全黑色。是因为PNG是无损的吗?
我有一段代码,它以一定的质量压缩jpg图像,但是当图像是png类型时,它们都变成黑色。知道为什么以及如何修复它吗?这是我的密码Java 压缩为jpeg时,png文件变为全黑色。是因为PNG是无损的吗?,java,compression,png,jpeg,javax.imageio,Java,Compression,Png,Jpeg,Javax.imageio,我有一段代码,它以一定的质量压缩jpg图像,但是当图像是png类型时,它们都变成黑色。知道为什么以及如何修复它吗?这是我的密码 public void compressImage(String filename, ServletContext servletContext) { //You first need to enumerate the image writers that are available to jpg Iterator iter = ImageIO.getI
public void compressImage(String filename, ServletContext servletContext) {
//You first need to enumerate the image writers that are available to jpg
Iterator iter = ImageIO.getImageWritersByFormatName("jpg");
//Then, choose the first image writer available
ImageWriter writer = (ImageWriter) iter.next();
//instantiate an ImageWriteParam object with default compression options
ImageWriteParam iwp = writer.getDefaultWriteParam();
//Set the compression quality
iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
iwp.setCompressionQuality(0.5f);
try {
BufferedImage img = ImageIO.read(new File(filename));
String destPath = "/Users/KingdomHeart/resources/scholar/compress/compress.jpg";
File file = new File(destPath);
FileImageOutputStream output = new FileImageOutputStream(file);
writer.setOutput(output);
IIOImage image = new IIOImage(img, null, null);
writer.write(null, image, iwp);
writer.dispose();
}catch(IOException e){
}
}
这可能有你想要的答案:
问题可能是您使用的PNG具有一定的透明度。这可能有您想要的答案: 问题很可能是您使用的PNG具有一定的透明度