问题标签 [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.
c# - 锁定位无法检测像素
我正在创建一个程序来扫描图像的所有像素,并且每当它找到包含粉红色的像素时。它使像素变黑。但是当图像上有两个时,它似乎没有找到粉红色的像素。我不知道我是否正确使用了 LockBits,也许我用错了。有人可以帮我解决这个问题,我将不胜感激。
下面是代码:
c# - C#在图片框中移动位图
我用 LockBits 从数组中循环创建图像并缩放到 PictureBox.Width * n 和 Height:
在下一次迭代中:
简而言之:我剪切并复制了会移动图片的部分图像,但没有得到任何东西。是否可能是因为上一步的规模?也许我错了。建议将新位图移动并添加到末端的算法。
c# - C# LockBits 性能(int[,] 到 byte[])
我用这段代码在PictureBox中转换了一组RGB值(灰度),但是速度很慢。请告诉我我的错误。目前,441 000 个项目的数组处理了 35 毫秒。我需要同时处理 400 万个数组。
c# - BitmapData 和 Marshal.Copy?windows phone 有什么替代品?
更新:一直在环顾四周,试图找出 Windows phone 7.1 的 BitmapData 有什么替代方案。我已经注释掉了有问题的代码。我知道 Lockbits 并且与获取设置像素等相比,它的速度更快。根据我的理解,BitmapData 将图像锁定到内存中以供操作。BmpData.Scan0 充当指向内存的指针。
如果我要在没有 BitmapData 的情况下执行此操作,请说 Get.Pixel 并将其映射到内存。并使用 Set.Pixel 操作一些图像数据?
PS:关于处理速度;我不想改变很多像素。
任何帮助表示赞赏。谢谢
c# - 在 C# 中识别图像中的图像
我想在图像(干草堆)中找到图像(针)。
为了简单起见,我截取了两张桌面截图。一个全尺寸(干草堆)和一个小尺寸(针)。然后我循环遍历干草堆图像并尝试找到针图像。
- 抓针和干草堆截图
- 遍历 haystack,寻找 haystack[i] == needle 的第一个像素
- [如果 2. 为真:] 循环遍历 needle 的第二个到最后一个像素并将其与 haystack[i] 进行比较
预期结果:在正确位置找到针图像。
我已经让它适用于一些坐标/宽度/高度(A)。
但有时位似乎“关闭”,因此找不到匹配项(B)。
我可能做错了什么?欢迎任何建议。谢谢。
A. 示例输入 - 匹配
B. 示例输入 - 不匹配
1.捕获针和草垛图像
2.尝试寻找匹配
3.验证完全匹配
java - Android上的位图LockBits?
我在 Android 上的程序使用了一种算法,该算法使用了大量的 setPixel 和 getPixel,因此它非常慢。在 .NET 上,我可以使用 LockBits 使其更快。Java 或 Android 上是否有 LockBits 或类似的东西?
编辑:经过一些搜索,我找到了copyPixelToBuffer
and copyPixelFromBuffer
,想知道它是否是我需要的?
c# - 按颜色返回点定位像素
我需要用指定的颜色找到它找到的第一个像素的点/坐标(x,y)。我使用了 GetPixel() 方法,但它有点太慢了,正在研究 LockBits。我怎么不知道这是否真的可以解决我的问题。我可以使用 LockBits 返回找到的像素的点吗?
这是我当前的代码:
c# - 为什么 BitmapData.Stride 会忽略传递给 LockBits 的矩形大小?
我有一张图像,想读取特定区域的像素值。
我假设作为该LockBits()
方法的第一个参数的矩形在那里允许指定子部分。但是在调试时,我注意到 的值BitmapData.Stride
是原始位图宽度的 3 倍,而不是矩形宽度的 3 倍。
为什么是这样?我是否误解了矩形参数的用途?
c# - c#.NET - 使用锁位提取原始像素数据
我正在制作一个程序来自动对图像执行某些编辑。
其中一项功能是将“白色”像素转换为“白色”和透明的。最初,一切都很好。
我设法将 24bppRGB 图像转换为 32bppRGB 图像,所需像素全部透明。
图像加载到图片框中,保存后即可打开。
当我尝试重新编辑文件时出现问题。当我再次尝试提取原始像素数据时,我什么也没得到。据我所知,整个像素数据数组都是 0。
为什么会这样?
^这是我的主要问题。除了这个问题,我还注意到该程序的一些怪癖,这些只是出于好奇:
有什么区别:
和
并且:
和
当我解锁位图时,第二个导致了 AccessViolationException。
如果可能的话,尽量让解释简单。我在这方面是一个相当新的人。谢谢你的时间。