我基本上是从Web服务器下载图像并将它们缓存到磁盘上,但在这样做之前,我想对它们进行遮罩处理。 我正在使用大家都在指向的遮罩代码,可以在此处找到: http://iosdevelopertips.com/cocoa/how-to-mask-an-image.html
然而,发生的情况是,图像显示正常,但写入磁盘的版本缺失了一个
UIImage *img = [self maskImage:[UIImage imageWithData:data] withMask:self.imageMask];
[UIImagePNGRepresentation(img) writeToFile:cachePath atomically:NO];
当与稍后显示的内容进行比较时(在此处使用相同的UIImage实例),其alpha通道被反转。
有什么想法吗?我确实需要缓存版本进行遮罩,否则如果每次都要遮罩它们,则在表视图中显示图像会变得非常缓慢。
编辑:是的,UIImagePNGRepresentation(img)似乎反转了alpha通道,这与写入磁盘的代码无关,这是相当明显的,但我还是检查了一下。
UIImagePNGRepresentation()
保存到磁盘并使用它来创建UIImage之后,晕影就变成了反向的。非常感谢能够解决这个问题的答案。 - Stuart