我对图像文件的信息很少。
为了能够在Java中将PNG转换为JPEG,首先我使用了下面的代码部分来将PNG转换为JPEG:inverted
代码部分1)
BufferedImage newBufferedImage = new BufferedImage(bufferedImageFile.getWidth(), bufferedImageFile.getHeight(),
BufferedImage.TYPE_INT_RGB);
newBufferedImage.createGraphics().drawImage(bufferedImageFile, 0, 0, Color.WHITE, null);
File retTempFile = MakeupFileUtil.createTempFile(fileName);
ImageIO.write(newBufferedImage, "jpg", retTempFile);
return retTempFile;
JPEGImageWriteParam jpegParams = new JPEGImageWriteParam(null);
jpegParams.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
jpegParams.setCompressionQuality(1f);
final ImageWriter writer = ImageIO.getImageWritersByFormatName("jpg").next();
writer.setOutput(new FileImageOutputStream(jpegFile));
writer.write(null, new IIOImage(bufferedImageFile, null, null), jpegParams);
但这一次,转换后的JPEG文件得到了倒置的颜色。
为什么会出现这种情况?
尝试在“代码第2部分”上编写newBufferedImage
而不是BufferedImageFile
。
因此将此行更改为:
writer.write(null, new IIOImage(newBufferedImage, null, null), jpegParams);
如果你尝试用JPEG格式写一个PNG图像,你会得到奇怪的结果。
问题内容: 我在将简单的PNG转换为JPEG格式时遇到问题。我正在使用以下代码: … … 我最后遇到一个JAI异常-> java.lang.RuntimeException:只能写入1或3字节的字节数据。在com.sun.media.jai.codecimpl.JPEGImageEncoder.encode(JPEGImageEncoder.java:148)… 退出选项。有什么建议吗? 问题答案
问题内容: 我有一堆高质量的PNG文件。我想使用PHP将它们转换为JPG,因为它的文件较小,同时又保持了质量。我想在网上显示JPG文件。 PHP是否具有执行此操作的功能/库?质量/压缩度好吗? 问题答案: 这样做可以将PNG安全地转换为白色透明的JPG。
JPEG或PNG是否支持元数据/辅助数据的压缩? 到目前为止,我读到的所有内容都集中在图像压缩上,我找不到任何关于扩展数据压缩的内容。 大多数压缩软件似乎会移除元数据,但是否有可能将其压缩呢?
问题内容: 最近,当我尝试显示图像文件时遇到问题。不幸的是,图像格式是TIFF格式,主要的网络浏览器不支持该格式(因为我知道Safari仅支持该格式)。由于某些限制,我必须将此格式转换为主流浏览器支持的其他格式。但是,当我尝试转换格式时,这给我带来了很多问题。 我已经在网上搜索过,尽管在此链接中发布了类似的问题,但我如何在Java中将TIF转换为PNG?“但是我无法获得建议的结果。 因此,我再次提
我正在使用Java压缩一个图像。
问题内容: 我正在使用一个小脚本将PDF转换为JPG。可以,但是质量很差。 剧本: 还有一件事,我想保留PDF的原始大小,但转换会裁剪JPG的大小。 问题答案: 可以使用完成,但是您需要在加载图像之前进行。尝试这样的事情: