c#中的步幅函数

时间:2017-06-22 11:04:59

标签: c#

有人可以解释一下它是如何计算行和列的吗?

byte[] pixel = new byte[img.Stride * img.Height];
for (l=0; l< pixel.Length -4;l+=4 )
{
    row= l/img.Stride;
    column=(l% img.Stride)/4;
....
}

1 个答案:

答案 0 :(得分:0)

您可以参考链接c# scan0 and stride

Stride

  

步幅是单行像素(扫描线)的宽度,   四舍五入到四字节边界。如果步幅是积极的,那么   位图是自上而下的。如果步幅为负,则位图为   自下而上。

如果您想从一行移动到下一行,则需要将步幅添加到您当前正在查看的行的地址。行与4字节边界对齐,以便各种代码可以更有效地访问它。 (CPU中的各种操作经过优化,可以在4字节或8字节边界上工作。)

谢谢, 克里斯托