如何为iphone遮蔽png图像

时间:2009-06-11 08:36:13

标签: iphone

我有一个显示灰度按钮的UIImage。当我绘制图像时,有没有办法用颜色“遮蔽”图像?所以我可以有效地拥有1个灰度按钮图像,但有任何颜色按钮?如果可能的话,我还希望透明像素保持透明。

谢谢!

1 个答案:

答案 0 :(得分:1)

为此,您需要使用Quartz 2D并执行以下步骤:

  1. 使用CGImage为PNG背景创建CGImageCreateWithPNGDataProvider,或照常使用UIImage,并使用CGImage属性获取对Quartz图像数据的引用{1}}。
  2. 使用UIImage在图像上设置混合模式。您所追求的模式可能是CGContextSetBlendMode
  3. 为着色图层创建一个新的单色kCGBlendModeOverlay
  4. 使用CGImage在背景图层上合成着色层。
  5. 有关如何执行此操作的详细说明,请参阅Quartz 2D编程指南中标题为"Using Blend Modes with Images"的部分。