C# BitmapData 类 Scan0 和 Stride 属性含义

发布于 2024-11-02 01:09:15 字数 73 浏览 1 评论 0原文

谁能解释一下 C# 中 BitmapData 类的 Scan0Stride 属性的用途吗?

Can anyone explain what Scan0 and Stride properties of BitmapData class in C# are for?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

枕梦 2024-11-09 01:09:15

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

Scan0

获取或设置位图中第一个像素数据的地址。这也可以被认为是位图中的第一条扫描线。

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

跨步

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

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

Are you talking about the BitmapData class? If so, the description in the documentation is reasonably clear, I think:

Scan0:

Gets or sets the address of the first pixel data in the bitmap. This can also be thought of as the first scan line in the bitmap.

In other words, this lets you find the data to examine or change - or even lets you make the bitmap to a completely different piece of data.

Stride:

The stride is the width of a single row of pixels (a scan line), rounded up to a four-byte boundary. If the stride is positive, the bitmap is top-down. If the stride is negative, the bitmap is bottom-up.

If you want to move from one row to the next, you need to add the stride to the address of the row you're currently looking at. Rows are aligned to 4 byte boundaries so that all kinds of code can access it more efficiently. (Various operations in CPUs are optimized to work on 4 byte or 8 byte boundaries.)

眼藏柔 2024-11-09 01:09:15

我唯一见过“扫描”和“跨步”的​​地方是处理图像时。

相关问题...
谁能解释一下bitmapdata中stride的功能吗?

The only place I have seen Scan and Stride is when dealing with images.

Related Question...
any can explain the function of stride in bitmapdata?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文