iphone:如何去除图像中的红色? (RGB 颜色)

Posted

技术标签:

【中文标题】iphone:如何去除图像中的红色? (RGB 颜色)【英文标题】:iphone: How can I remove the red colors from an image? (RGB colors) 【发布时间】:2010-06-04 21:41:41 【问题描述】:

假设我有一个 UIImageView,我只想从中显示蓝色和绿色(RGB 颜色)。就像在 Photoshop 中一样,我可以选择要显示的颜色,红色、蓝色和绿色,因此在图像中删除红色。

那我该怎么做呢?我真的是 Objective-c 的新手 :)

【问题讨论】:

【参考方案1】:

有很多方法可以做到这一点。如果您有权访问图像位图数据,则只需将所有像素上的红色通道设置为零。您可能需要将图像绘制到 CGBitmapContext 中,获取指向位图数据的指针,然后创建一个新的 CGImage 并将其转换为 UIImage。

或者您可以使用自定义 drawRect: 方法创建一个 UIView 子类,该方法首先正常绘制图像,然后使用混合模式(由 CGContextSetBlendMode 设置)到 kCGBlendModeMultiply 绘制设置为 RGB (0, 1, 1) 的颜色。

【讨论】:

以上是关于iphone:如何去除图像中的红色? (RGB 颜色)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Matlab 中显示图像的红色通道?

当我将我的 rgb 位图转换为 yuv 时,它会产生红色图像。我想以 YUV 格式从图库中读取图像或将 RGB 位图转换为 YUV

PPM颜色显示错误

使用 GDI() 仅保留图像的红色通道

如何从iphone中的png文件中检索单个图像

圣诞版iPhone X惊艳亮相 红黑搭配颜值新高!