假设我有一个UIImageView,我想从中显示蓝色和绿色(RGB颜色)。就像在Photoshop中一样,我可以选择要显示的颜色,红色,蓝色和绿色,因此在图像中删除红色。
那我怎么办呢?我在Objective-c中真的很新,所有:)
答案 0 :(得分:0)
有很多方法可以做到这一点。如果您可以访问图像位图数据,则可以在所有像素上将红色通道设置为零。您可能需要将图像绘制到CGBitmapContext中,获取指向位图数据的指针,然后创建一个新的CGImage,将其转换为UIImage。
或者您可以使用自定义drawRect:方法创建一个UIView子类,该方法首先正常绘制图像,然后使用混合模式(由CGContextSetBlendMode设置)将颜色集绘制为RGB(0,1,1)到kCGBlendModeMultiply。