问题标签 [lockbits]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3460 浏览

c# - 为什么我的图像似乎是 Bgra 而不是 Argb 格式?

因此,我对刚刚运行的快速测试感到非常困惑。我正在用 C# 进行一些图像处理。Get/SetPixel() 被证明太慢了,所以我使用 LockBits 来获取原始数据。

但是,我似乎遇到了我无法弄清楚的情况。在扫描图像时,似乎每个像素都按 Bgra 排列,即按蓝色字节、绿色字节、红色字节和 alpha 的顺序排列。我的印象是它们将以 Argb 顺序排列。这是我正在使用的代码示例。

获取基本图像颜色的第一行有效,第二行无效。我很确定我在这里遗漏了一些非常明显的东西。

0 投票
1 回答
1316 浏览

c# - C# Lockbits 用于更奇特的 PixelFormats

我正在用 C# 编写一个用于图像处理的性能关键类。我正在使用 LockBits 直接访问实际数据并且一切正常,但我想获得有关某些 PixelFormats 的内存签名的更多信息,尤其是 Imaging.PixelFormat.Format32bppPArgb。

有人知道某处列出这些的可靠网站吗?

0 投票
1 回答
1329 浏览

c# - Bitmap.LockBits 和 Graphics.FromImage 在 C# 中是否可组合

你能结合 Bitmap.LockBits 和 Graphics.FromImage 的方法吗,或者换句话说,如果我有一个位图“bmp”并且我想用一个图形对象 g 编辑位图,那么在字节数组中的变化是可见的吗? BitmapData.Scan0:

填充红色矩形后,我可以看到 PixelData 的变化吗?

0 投票
1 回答
1291 浏览

c# - LockBits 图像旋转方法不起作用?

大家好。在厌倦了 Get/Set Pixel 和 RotateTransfom 的缓慢性能和古怪行为之后,我求助于使用 LockBits 进行 2d 位图图像旋转。所以这是我想出的代码,据我估计,它应该可以完美运行。它没有。

有人有什么想法吗?我很新鲜。提前致谢!

编辑:这就是我最终使用的(非常感谢 Hans Passant):

这与他的相同,只是基于每个图像,而不是一种形式。

0 投票
1 回答
2280 浏览

c# - 无法成功使用锁定位

嗨,我在 C# 中的图像处理方面真的很新,下面的代码基本上是从我从计算机浏览的图像中获取像素,并将像素的 RGB 值与正确的像素进行比较,如果它的值相同,它将把像素设置为青色。问题出在getpixel,即使在小分辨率的照片上也确实很慢,我还希望为其添加更多功能。我已阅读有关 lockbits 并正在尝试但无法成功编写代码。

}

0 投票
1 回答
770 浏览

c# - C#:LockBits 推出了一个巨大的红色 X

按照 Bob Powell 的 LockBits 教程,我将以下代码放入 C# 2010 Visual Studio Express:

将位图数据推送到图片框 (picturebox.Image = BitmapImage;) 后,所有出来的都是白色背景上的红色 x,带有红色边框。我究竟做错了什么?

0 投票
1 回答
861 浏览

c# - 为什么我的 C# 应用程序中的随机像素颜色不那么随机?

我设置了一个代码来随机覆盖 2 种不同颜色的位图,10 次中有 7 次是蓝色,10 次中有 3 次是绿色。然而,当它完成后,它看起来非常不随机,就像它决定放 7 个蓝色像素几次,然后放 3 个绿色像素几次等等。
示例:
替代文字 我的代码是:

如果您需要其他信息,请告诉我。

0 投票
0 回答
2257 浏览

c++ - GDI+ 位图 LockBits 返回旋转的图像?

我从文件中加载了一个图像并想将其写入 AVI 文件:

生成的 avi 文件旋转 180 度。怎么了?

我还注意到原始图像是自下而上的(Bitmap::LockBits()返回负数BitmapData::Stride)。我把它保存到磁盘上Bitmap::Save()。加载后的图像是自上而下的。

0 投票
2 回答
543 浏览

c# - 具有超短灰度值的锁位

我想从给定的 16 位灰度值创建一个位图。到目前为止,我有这个代码:

但我在 Marshal.Copy Methode 中遇到错误:“请求的范围超出了数组的末尾”。错误在哪里?

谢谢

0 投票
1 回答
270 浏览

.net - 使用 Bitmap.LockBits 比 BitMap.GetPixel 更快时为每个像素创建一个 Color 对象?

为每个像素创建一个Color对象,同时使用Bitmap.LockBits仍然比Bitmap.GetPixel为每个像素使用更快吗?

或者,与方法相比,创建它Color是主要开销?Bitmap.GetPixelLockBits