2

我正在寻找为我的 Iphone 应用程序设置(更改)UIImage 像素的 RGBA 颜色的可能性。(我实际上想实现一些洪水填充的东西)

所以我需要这样的东西:

-(void) setPixelColorOfImage: (UIImage*) img atXCord: (int) x atYCord: (int) y
withRedColor: (CGFloat) red blueColor: (CGFloat) blue greenColor: (CGFloat) green
alpha: (CGFloat) alpha  {

// need some code her

}

因为这个方法会经常被调用,所以它不应该太慢。

请帮忙。

4

1 回答 1

2

UIImage 不是(外部)可变的,因此您必须复制、编辑、然后转换为 UIImage。

复制

  • 创建一个 CGBitmapContext
  • 将源图像绘制到它上面

编辑

  • 获取上下文的像素缓冲区
  • 改变那个像素缓冲区

转换为 UIImage

  • 复制上下文的 CGImage 表示
  • 从 CGImage 创建一个新的 UIImage

fwiw,该表单也可以在 osx 上使用(使用 NSImage)。

于 2011-09-26T04:31:54.150 回答