我在将简单的PNG转换为JPEG格式时遇到问题。我正在使用以下代码:
…
File png = new File(filePath);
try {
SeekableStream s = new FileSeekableStream(png);
PNGDecodeParam pngParams = new PNGDecodeParam();
ImageDecoder dec = ImageCodec.createImageDecoder("png", s, pngParams);
RenderedImage pngImage = dec.decodeAsRenderedImage();
JPEGEncodeParam jparam = new JPEGEncodeParam();
jparam.setQuality(0.50f); // e.g. 0.25f
File jpeg = new File("jpeg.jpeg");
FileOutputStream out = new FileOutputStream(jpeg);
ImageEncoder encoder = ImageCodec.createImageEncoder("JPEG", out, jparam);
encoder.encode(pngImage);
s.close();
} catch (IOException e) {
ok = false;
e.printStackTrace();
}
return ok;
}
…
我最后遇到一个JAI异常->
java.lang.RuntimeException:只能写入1或3字节的字节数据。在com.sun.media.jai.codecimpl.JPEGImageEncoder.encode(JPEGImageEncoder.java:148)…
退出选项。有什么建议吗?
在编写jpg之前,您可能需要删除png中的alpha通道。
创建一个新的BufferedImage,其类型为TYPE_INT_RGB(不是TYPE_INT_ARGB),然后将源图像(pngImage)写入新的空白图像。
诸如此类(警告,未经测试的代码):
BufferedImage newImage = new BufferedImage( pngImage.getWidth(), pngImage.getHeight(), BufferedImage.TYPE_INT_RGB);
newImage.createGraphics().drawImage( pngImage, 0, 0, Color.BLACK, null);
问题内容: 我环顾四周,阅读文档,没有找到任何方法或解决方案,所以我在这里问。是否有可用的软件包可用于使用Python将JPG图像转换为PNG图像? 问题答案: 为此,您始终可以使用Python图像库(PIL)。可能还会有其他包/库,但是我之前曾用过它来在格式之间进行转换。 这适用于Windows下的Python 2.7(适用于Python 2.7的Python Imaging Library 1
问题内容: 我是python的新手,尝试使用它将GIF的帧拆分为PNG图像。 这是特定于我正在使用的图像还是我做错了什么? 谢谢! 问题答案: 我认为您没有做错任何事情。在此处看到类似的问题:GIF动画问题。看起来好像调色板信息未正确用于以后的帧。以下对我有用:
问题内容: 我有一个从代码生成的点文件,想要在输出中呈现它。为此,我在网上看到命令是这样的 但是我的问题是我想在我的python程序中使用此内置函数。 我该怎么办? 我看着pydot,但似乎找不到答案。 问题答案: pydot无论如何都需要安装GraphViz二进制文件,因此,如果您已经生成了点文件,则不妨直接自己直接调用点。例如:
我正在尝试使用Latex创建PDF文件。但是,Latex不处理TIFF或任何其他能够同时透明和CMYK的图像格式。我认为我可以使用的唯一解决方案是将PNG图像转换为PDF并将其嵌入到文件中。 我对imagemagick有点熟悉,但是,我不知道如何将PNG(可能在RGB/SRGB颜色空间中)转换为CMYK颜色空间中的PDF。 我如何进行这种转换,使颜色正确,透明度保持不变?
问题内容: 最近,当我尝试显示图像文件时遇到问题。不幸的是,图像格式是TIFF格式,主要的网络浏览器不支持该格式(因为我知道Safari仅支持该格式)。由于某些限制,我必须将此格式转换为主流浏览器支持的其他格式。但是,当我尝试转换格式时,这给我带来了很多问题。 我已经在网上搜索过,尽管在此链接中发布了类似的问题,但我如何在Java中将TIF转换为PNG?“但是我无法获得建议的结果。 因此,我再次提