问题标签 [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 投票
1 回答
786 浏览

c# - 锁定位无法检测像素

我正在创建一个程序来扫描图像的所有像素,并且每当它找到包含粉红色的像素时。它使像素变黑。但是当图像上有两个时,它似乎没有找到粉红色的像素。我不知道我是否正确使用了 LockBits,也许我用错了。有人可以帮我解决这个问题,我将不胜感激。

下面是代码:

0 投票
2 回答
4140 浏览

c# - C#在图片框中移动位图

我用 LockBits 从数组中循环创建图像并缩放到 PictureBox.Width * n 和 Height:

在下一次迭代中:

简而言之:我剪切并复制了会移动图片的部分图像,但没有得到任何东西。是否可能是因为上一步的规模?也许我错了。建议将新位图移动并添加到末端的算法。

0 投票
5 回答
3280 浏览

c# - C# LockBits 性能(int[,] 到 byte[])

我用这段代码在PictureBox中转换了一组RGB值(灰度),但是速度很慢。请告诉我我的错误。目前,441 000 个项目的数组处理了 35 毫秒。我需要同时处理 400 万个数组。

0 投票
1 回答
830 浏览

c# - BitmapData 和 Marshal.Copy?windows phone 有什么替代品?

更新:一直在环顾四周,试图找出 Windows phone 7.1 的 BitmapData 有什么替代方案。我已经注释掉了有问题的代码。我知道 Lockbits 并且与获取设置像素等相比,它的速度更快。根据我的理解,BitmapData 将图像锁定到内存中以供操作。BmpData.Scan0 充当指向内存的指针。

如果我要在没有 BitmapData 的情况下执行此操作,请说 Get.Pixel 并将其映射到内存。并使用 Set.Pixel 操作一些图像数据?

PS:关于处理速度;我不想改变很多像素。

任何帮助表示赞赏。谢谢

0 投票
4 回答
2396 浏览

c# - 在 C# 中识别图像中的图像

我想在图像(干草堆)中找到图像()。

为了简单起见,我截取了两张桌面截图。一个全尺寸(干草堆)和一个小尺寸()。然后我循环遍历干草堆图像并尝试找到针图像。

  1. 抓针和干草堆截图
  2. 遍历 haystack,寻找 haystack[i] == needle 的第一个像素
  3. [如果 2. 为真:] 循环遍历 needle 的第二个到最后一个像素并将其与 haystack[i] 进行比较

预期结果:在正确位置找到针图像。

我已经让它适用于一些坐标/宽度/高度(A)。

但有时位似乎“关闭”,因此找不到匹配项(B)。

我可能做错了什么?欢迎任何建议。谢谢。



A. 示例输入 - 匹配

B. 示例输入 - 不匹配


1.捕获针和草垛图像

2.尝试寻找匹配

3.验证完全匹配

0 投票
2 回答
2795 浏览

c# - 使用 LockBits 生成奇怪的图像

我正在尝试使用 Lockbits 写出灰度图像,我当前的代码看起来是

在哪里

但是我收到的图像不正确:

损坏的图像

也许这与我阅读它们的方式有关?所以这是代码

0 投票
1 回答
2049 浏览

java - Android上的位图LockBits?

我在 Android 上的程序使用了一种算法,该算法使用了大量的 setPixel 和 getPixel,因此它非常慢。在 .NET 上,我可以使用 LockBits 使其更快。Java 或 Android 上是否有 LockBits 或类似的东西?

编辑:经过一些搜索,我找到了copyPixelToBufferand copyPixelFromBuffer,想知道它是否是我需要的?

0 投票
2 回答
401 浏览

c# - 按颜色返回点定位像素

我需要用指定的颜色找到它找到的第一个像素的点/坐标(x,y)。我使用了 GetPixel() 方法,但它有点太慢了,正在研究 LockBits。我怎么不知道这是否真的可以解决我的问题。我可以使用 LockBits 返回找到的像素的点吗?

这是我当前的代码:

0 投票
2 回答
474 浏览

c# - 为什么 BitmapData.Stride 会忽略传递给 LockBits 的矩形大小?

我有一张图像,想读取特定区域的像素值。

我假设作为该LockBits()方法的第一个参数的矩形在那里允许指定子部分。但是在调试时,我注意到 的值BitmapData.Stride是原始位图宽度的 3 倍,而不是矩形宽度的 3 倍。

为什么是这样?我是否误解了矩形参数的用途?

0 投票
1 回答
521 浏览

c# - c#.NET - 使用锁位提取原始像素数据

我正在制作一个程序来自动对图像执行某些编辑。

其中一项功能是将“白色”像素转换为“白色”和透明的。最初,一切都很好。

我设法将 24bppRGB 图像转换为 32bppRGB 图像,所需像素全部透明。

图像加载到图片框中,保存后即可打开。

当我尝试重新编辑文件时出现问题。当我再次尝试提取原始像素数据时,我什么也没得到。据我所知,整个像素数据数组都是 0。

为什么会这样?

^这是我的主要问题。除了这个问题,我还注意到该程序的一些怪癖,这些只是出于好奇:

有什么区别:

并且:

当我解锁位图时,第二个导致了 AccessViolationException。

如果可能的话,尽量让解释简单。我在这方面是一个相当新的人。谢谢你的时间。