更改图像中所选像素的颜色

时间:2011-11-10 11:17:14

标签: iphone

我想将图像的黑线变成红色或任何其他颜色。

enter image description here

或者可以说想要生成彩色QR码。 这可能吗?

1 个答案:

答案 0 :(得分:1)

我概述了流程here。你可以停下来“这是最简单的部分!”。这个问题要求更复杂的东西,但是“简单的部分”就是你需要的所有东西,因为你有两种颜色。

以下是它的内容:

  • 获取位图像素数据的句柄
  • 了解缓冲区的结构,以便 正确填充具有以下形式的像素值的二维数组:

    typedef struct t_pixel {   uint8_t r,g,b,a; } t_pixel;

然后创建要定位的颜色:

const t_pixel ColorToLocate = { 0,0,0,255 }; // << black, opaque

及其替代值:

const t_pixel SubstitutionColor = { 255,0,0,255 }; // << red, opaque

迭代位图上下文的像素缓冲区,创建t_pixels

如果找到与ColorToLocate匹配的像素,请将源值替换为SubstitutionColor中的值。