加载ico图像会切换红色通道和蓝色通道

时间:2010-10-04 13:57:07

标签: iphone icons uiimage loading favicon

这就是我的意思: 我的资源中有一个favicon.ico(例如http://google.com/favicon.ico

然后我有一个加载该图像的UIImageView。

self.imgTestIcon.image = [UIImage imageNamed:@"favicon.ico"];

在模拟器或iPhone中显示的图像是相同的,但红色与蓝色切换。它可能是来自苹果的加载错误吗?

我也可以直接从互联网下载相同的结果:

self.imgTestIcon.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://google.com/favicon.ico"]]];

感谢大卫。

2 个答案:

答案 0 :(得分:2)

我找到了这个工作:

icon = [UIImage imageWithContentsOfFile:path];
icon = [UIImage imageWithData:UIImagePNGRepresentation(icon)];

基本上加载文件然后将其转换为PNG UIImage,它可以工作。 无论如何我还使用了Libnsbmp库,然后使用了一些Quartz代码来集成它,它工作正常,但我认为工作运行速度更快。

答案 1 :(得分:0)

听起来这可能是一个合法的错误。

如果这是必不可少的功能,您可以在应用中添加ICO阅读库(Libnsbmp就是一个例子)