c# - 获取位图像素列的最佳且快速的方法是什么?

标签 c# performance bitmap pixel

从位图中获取像素列的最快方法是什么? 我不考虑两个循环,因为它可能需要很长时间。我将不胜感激任何想法。谢谢!

最佳答案

我建议使用以下代码将位图转换为字节向量:

Bitmpa myImage=new Bitmap("myImage.bmp");    

BitmapData bmpData1=myImage.LockBits(new Rectangle(0,0,myImage.Width,myImage.Height), 
                 System.Drawing.Imaging.ImageLockMode.ReadWrite, myImage.PixelFormat);
byte[] myImageData = new byte[bmpData1.Stride * bmpData1.Height];
System.Runtime.InteropServices.Marshal.Copy(bmpData1.Scan0,myImageData,0
                       ,myImageData.Length);
myImgage.UnlockBits(bmpData1);

然后就可以轻松检索所需列上的像素。只需循环遍历向量 myImageData,步长等于每行的像素数 * 每个像素的字节数。

请注意用于表示位图的每个像素的字节数。 这取决于 PixelFormat

关于c# - 获取位图像素列的最佳且快速的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7699056/

相关文章:

java - Android 位图图像内存不足

c# - 如何使用 System.Text.Json 库在现有 json 中添加属性?

java - 在 Java 中删除字符串中第一个单词的最佳方法

python - 需要扩展库存日志(日志) Pandas 数据框以包含每个产品 ID 的所有日期

javascript - 如何在 div 可见时获取事件

c# - 绑定(bind)Xaml位图图像

c# - 如何为 VBA.GetObject 向 COM 公开正在运行的 .NET 应用程序对象? (不重复)

c# - 为什么 SourceUpdated 事件不触发我在 WPF 中的图像控件?

c# - C# 中的求值函数

java - 缓存谷歌地图v2标记位图