如何设置 UIImage 像素的 RGBA 颜色

发布于 2024-12-06 13:23:20 字数 379 浏览 1 评论 0原文

我正在寻找为我的 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

}

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

请帮忙。

I am looking for a possibility to set (change) the RGBA color of a Pixel of an UIImage for my Iphone Application. (I actually want to implement some floodfill stuff)

So I need something like this:

-(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

}

Because this method will be called quite often, it shouldn't be too slow.

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

对岸观火 2024-12-13 13:23:20

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

复制

  • 创建 CGBitmapContext
  • 将源图像绘制到其上

编辑

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

转换为 UIImage

  • 复制 CGImage上下文的表示
  • 从 CGImage

fwiw 创建一个新的 UIImage,该形式也可以在 osx 上使用(使用 NSImage)。

UIImage is not (externally) mutable, so you must copy, then edit, then convert to UIImage.

Copy

  • create a CGBitmapContext
  • draw the source image onto it

Edit

  • get a hold of the context's pixel buffer
  • mutate that pixel buffer

Convert to UIImage

  • copy a CGImage representation of the context
  • create a new UIImage from the CGImage

fwiw, the form can also be used on osx (using NSImage).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文