首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BitmapSource.CopyPixels - stride的好值是什么?

BitmapSource.CopyPixels - stride的好值是什么?
EN

Stack Overflow用户
提问于 2010-10-07 20:58:27
回答 2查看 18.2K关注 0票数 14

我正在尝试从WPF BitmapSource对象中获取像素数据。据我所知,这可以通过调用它的CopyPixels方法来实现。这个方法需要一个stride参数,我不知道如何获得它。据我所知,stride是在读取或复制过程中步进数组时使用的值。对于任何BitmapSource,合适的步长值是多少?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-07 21:05:55

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

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

通常,您应该知道目标数组要求。在中没有特殊要求,请使用默认的pixel_size * image_width。

票数 22
EN

Stack Overflow用户

发布于 2019-02-14 00:08:12

代码语言:javascript
复制
var stride = ((bitmapSource.PixelWidth * bitmapSource.Format.BitsPerPixel + 31) / 32) * 4;

代码语言:javascript
复制
var stride = ((bitmapSource.PixelWidth * bitmapSource.Format.BitsPerPixel + 31) >> 5) << 2;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3881857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档