作者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://www.ptt.cc/bbs/C_Sharp/M.1566189399.A.ED5.html
推 zel: 像素的指標陣列每列長是4的倍數 08/19 15:02
→ zel: width不是4的倍數時會補空像素 08/19 15:03
→ zel: 可能要檢查是否真的是取到你要的位置 08/19 15:04
→ ReplacedToy: 確實是這樣 擷取的影像寬度如果不是4的倍數 搜尋會 08/19 21:42
→ ReplacedToy: 失敗 目前嘗試檢查所謂的空像素 感謝提點! 08/19 21:43
→ kobe8112: 竄ㄘㄨㄢˋ改 QQ 08/19 23:53