【问题标题】:Construct a pixel from RGB values从 RGB 值构造像素
【发布时间】:2014-03-14 00:28:58
【问题描述】:

我有使用这个的 RGB 值:

int pixel = image[x][y];

red = ((pixel & 0xff0000) >> 16);
green = ((pixel & 0x00ff00) >> 8);
blue = (pixel & 0x0000ff);

然后我修改红色、绿色和蓝色。

如何用新值构造一个新像素?

【问题讨论】:

  • 要重建像素的值,只需执行相反的操作。到目前为止,您尝试过哪些不起作用的方法?

标签: c++ image image-processing pixel


【解决方案1】:

您要确保redgreenblue 都在 0..255 范围内。然后你把它们放在一起:

int newPixel = 
  ((int) max(0, min(red, 0xFF)) << 16) |
  ((int) max(0, min(green, 0xFF)) << 8) |
  max(0, min(blue, 0xFF));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 2019-03-08
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多