无法从IPA读取PNG

时间:2018-06-12 14:07:12

标签: java png javax.imageio

icon.png

我无法读取从IPA中提取的PNG文件。

BufferedImage bufferedImage = ImageIO.read(new File("z:\\icon.PNG"));
  抛出:" I / O错误读取PNG标题"。

我可以阅读任何其他PNG,只要它不是来自IPA。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

简短回答:它不是PNG。它是CgBI文件,是Apple专有的PNG扩展程序。大多数软件都无法读取它们,因为它们通过在IHDR之前插入自定义CgBI关键块来破坏PNG规范。

该软件(如上面的链接中所示)可以读取并将其转换为标准PNG。还有一个Java based solution可用(我自己没有测试过),您可能想要查看。