作者ReplacedToy (失恋六月)
看板C_Sharp
标题[问题] C# GetPixel与lockbits
时间Mon Aug 19 12:36:37 2019
小弟有一请教
原先在vb语言中,使用搜寻像素的function都是使用 bitmap.GetPixel 的方法
後来想在C#语言中,重新改写原先写好的程式码。
但是GetPixel本身就有效率上的问题,在google C# + bitmap 的关键字里面可以找到
网路上有另一种撷取像素的方法: lockbits
我自己改写了一个搜寻像素的方法,比对的结果必须每一个像素点都一模一样才算正确
我自己的作法是撷取一张影像,接着上小画家切割部分的影像拿来做比对
却发现 lockbits 撷取的像素点跟 GetPixel 所得到的像素点并没有完全一样
大部分的像素是正确的 但是就有某一小部分的像素点像是被串改了一样
有人在实作 lockbits 也遇到类似的问题吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.248.241.247 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1566189399.A.ED5.html
1F:推 zel: 像素的指标阵列每列长是4的倍数 08/19 15:02
2F:→ zel: width不是4的倍数时会补空像素 08/19 15:03
3F:→ zel: 可能要检查是否真的是取到你要的位置 08/19 15:04
4F:→ ReplacedToy: 确实是这样 撷取的影像宽度如果不是4的倍数 搜寻会 08/19 21:42
5F:→ ReplacedToy: 失败 目前尝试检查所谓的空像素 感谢提点! 08/19 21:43
6F:→ kobe8112: 窜ㄘㄨㄢˋ改 QQ 08/19 23:53