Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java将TIff转换为PNG问题_Java_Javax.imageio - Fatal编程技术网

Java将TIff转换为PNG问题

Java将TIff转换为PNG问题,java,javax.imageio,Java,Javax.imageio,我有一个文件,当我试图转换它不会,但我可以在一个在线转换器转换文件。这可能是什么原因 FileSeekableStream fss = new FileSeekableStream(tifFile); ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", fss, null); RenderedImage image = decoder.decodeAsRenderedImage(); Image

我有一个文件,当我试图转换它不会,但我可以在一个在线转换器转换文件。这可能是什么原因

    FileSeekableStream fss = new FileSeekableStream(tifFile);
    ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", fss, null);
    RenderedImage image = decoder.decodeAsRenderedImage();
    ImageIO.write(image, "png", new File(imageFolder + "/" + baseName + ".png"));
编辑: 试图弄清楚这个问题,是什么原因导致一些tiff文件转换而一些文件不转换?在尝试将tiff转换为png之前,我可以检查tiff文件中哪些可能的内容,以了解其无法转换的原因,或者可以更改哪些内容


这是图像

我不知道您所说的“无法转换”是什么意思。几年前,我在将tiff转换为png时遇到了一个问题——图像被转换了,但是颜色太差了,看起来很可怕

原因实际上是输入图像(tifFile)是CMYK,输出文件是RGB


我知道这不是一个真正的答案,但我现在无法在这里发表评论…

我发现没有转换的文件的颜色模型与正在转换的图像的颜色模型完全不同,所以我更改了没有转换的图像的颜色模型,它工作了,颜色有点不正常,但我取得了进展,感谢GIMP的建议。

在什么阶段它不会转换<代码>解码器?如果是这样:使用GIMP或imageMagic打开tiff文件,查看详细信息以及与您正在使用的Java库的兼容性。tiff可能存在一些内部差异,导致您无法转换。是否存在这种情况?如果说它不兼容?是否还有其他库可以处理此问题?除非附加TIFF导致问题(或者至少告诉我们文件的颜色模型和压缩等),否则您只能猜测和推测答案。你甚至没有告诉我们问题是读(解码)还是写。我已经为ImageIO编写了一个
TIFFImageReader
插件,功能非常强大,但现在我可以判断它是否能解决您的问题。我添加了图像,它不会引发任何错误或任何简单的操作都不会写入我假设的文件。我的意思是它简单不会写入新文件,我在将文件转换为JPG(而不是PNG)时遇到了这个问题,但在250-300个tiff文件中,有13个文件不会以PNG格式写入。