【发布时间】:2017-02-07 14:42:53
【问题描述】:
我正在编写这个 Today Widget,它需要显示一张图片。 我注意到,每次加载小部件时,都会重新绘制图像。这大约需要半秒钟。 经过一番调查,我发现罪魁祸首是图像文件位于索引颜色空间中。 所以:我的问题是: 如何将此文件转换为 iPhone 可以更有效地显示的内容?例如,RGB 文件。然后我会将它保存到一个新文件中,并将该新文件加载到我的 UIImageView 中。
我玩了一下 CGImage,因为我相信这是解决方案的方向,但我最终得到了一个白色的 UIImageView。
这是我的代码:
UIImage * theCartoon = [UIImage imageWithData:imageData];
CGImageRef si = [theCartoon CGImage];
CGDataProviderRef src = CGImageGetDataProvider(si);
CGImageRef imageRef = CGImageCreateWithPNGDataProvider(src, NULL, NO, kCGRenderingIntentDefault);
cartoon.image = [[UIImage alloc] initWithCGImage:imageRef];
对这种方法有什么建议吗?一些明显的错误编程?
【问题讨论】:
标签: ios objective-c cgimage color-space