我正在尝试从WPF BitmapSource对象获取像素数据。据我了解,这可以通过调用其CopyPixels方法来完成。此方法需要一个跨步参数,我不知道该如何获取。据我所知,跨度是在读取或复制期间进入数组时使用的值。对于任何BitmapSource,合适的步幅值是多少?

最佳答案

您可以使用stride = pixel_size * image_width值。例如,对于100像素宽度的RGBA位图,步幅= 400。

某些应用可能需要特殊的线对齐。例如,Windows GDI位图需要32位线对齐。在这种情况下,对于宽度= 33的RGB位图,应将跨步值33 * 3 = 99更改为100,以在目标数组中具有32位的行对齐。

通常,您应该了解目标阵列要求。在没有特殊要求的情况下,请使用默认的pixel_size * image_width。

关于wpf - BitmapSource.CopyPixels-跨步有什么好处?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3881857/

10-10 01:05