C#BitmapData类Scan0和Stride属性的含义

问题描述 投票:4回答:2

谁能解释C#中BitmapData类的Scan0Stride属性是什么?

c# bitmap bitmapdata
2个回答
14
投票

您是否在谈论BitmapData类?如果是这样,我认为文档中的描述相当清楚:

BitmapData

获取或设置位图中第一个像素数据的地址。也可以将其视为位图中的第一条扫描线。

换句话说,这使您可以找到要检查或更改的数据,甚至可以将位图制作为完全不同的数据。

Scan0

跨度是像素的单行(扫描线)的宽度,四舍五入为四个字节的边界。如果跨度为正,则位图是自顶向下的。如果跨度为负,则位图是自下而上的。

如果要从一行移到另一行,则需要将跨步添加到当前正在查看的行的地址。行与4字节边界对齐,以便所有类型的代码都可以更有效地访问它。 (CPU中的各种操作已优化为可在4字节或8字节边界上工作。)


1
投票

[我唯一看到过Scan and Stride的地方是在处理图像时。

相关问题...Scan0

© www.soinside.com 2019 - 2024. All rights reserved.