x,y,z到向量偏移量

时间:2011-03-11 21:02:09

标签: c++ math vector imagemagick linear

我知道这可能听起来很愚蠢但我对这个XD很疯狂

我正在将广告图片(使用ImageMagick)加载到1D向量中,因此我有类似的内容:

012345678...
RGBRGBRGB...

其中0- ..显然是向量的索引,R,G和B分别是红色字节,绿色字节和蓝色字节。 所以我有一个WIDTHxHEIGHTx3字节向量。

现在,假设我想访问x,y,z字节,其中z是颜色的索引,这是在向量中有线性偏移的转换公式?

谢谢:)

2 个答案:

答案 0 :(得分:5)

此表达式在像素(x,y)处生成颜色分量 z 的索引:

((y * WIDTH) + x) * 3 + z

假设是:

  • 数据位于行主要订单
  • 行之间没有使用填充/对齐字节。

答案 1 :(得分:0)

假设您的数据存储为一系列行(不是疯狂的假设),您可以在y*WIDTH*3 + 3*x + z找到字节x,y,z