无效的PNG图像文件:iDOT未指向有效的IDAT块

kin*_*ian 12 html png objective-c ipad javax.imageio

我在应用程序中有一些HTML内容页面,我正在使用UIWebView来显示它们.其中一些页面中有一个PNG图像,它在xcode的调试控制台中生成以下消息:

ImageIO: PNG invalid PNG file: iDOT doesn't point to valid IDAT chunk
Run Code Online (Sandbox Code Playgroud)

图像仍然显示并且看起来正确.这也只有在我在iPad(第3代)上运行应用程序时才会发生.我的iPhone 4不显示此消息.

我的第一个想法是它是由文件名中的〜字符引起的(我已经将~ipad标签添加到文件名中).但是,删除〜字符没有任何影响.

我做了谷歌搜索,但我只得到了3个结果.其中2个是中文,谷歌的翻译似乎没有很好的翻译.其他结果似乎是与我有同样问题的人,但没有回复他的帖子.

小智 11

有同样的问题.解决方案:使用"color sync utility"这是一个标准程序,可以从启动板加载.打开png文件并使用该实用程序保存.


bra*_*ree 2

奇怪的是,大约一个小时前我遇到了完全相同的问题。我没有找到失败的具体原因,但我认为我能够“修复”图像以使其正确显示并且不会引发错误。

我刚刚在预览中打开它并从源导出一个新的 PNG 文件。当我用新创建的图像替换项目文件中的坏图像后,我进行了清理、编译,它按预期工作。

希望这对你来说是那么容易......