[問題] C# GetPixel與lockbits

作者: ReplacedToy (六月二十八日)   2019-08-19 12:36:37
小弟有一請教
原先在vb語言中,使用搜尋像素的function都是使用 bitmap.GetPixel 的方法
後來想在C#語言中,重新改寫原先寫好的程式碼。
但是GetPixel本身就有效率上的問題,在google C# + bitmap 的關鍵字裡面可以找到
網路上有另一種擷取像素的方法: lockbits
我自己改寫了一個搜尋像素的方法,比對的結果必須每一個像素點都一模一樣才算正確
我自己的作法是擷取一張影像,接著上小畫家切割部分的影像拿來做比對
卻發現 lockbits 擷取的像素點跟 GetPixel 所得到的像素點並沒有完全一樣
大部分的像素是正確的 但是就有某一小部分的像素點像是被串改了一樣
有人在實作 lockbits 也遇到類似的問題嗎?
作者: zel (柚植)   2019-08-19 15:02:00
像素的指標陣列每列長是4的倍數width不是4的倍數時會補空像素可能要檢查是否真的是取到你要的位置
作者: ReplacedToy (六月二十八日)   2019-08-19 21:42:00
確實是這樣 擷取的影像寬度如果不是4的倍數 搜尋會失敗 目前嘗試檢查所謂的空像素 感謝提點!
作者: kobe8112 (小B)   2019-08-19 23:53:00
竄ㄘㄨㄢˋ改 QQ

Links booklink

Contact Us: admin [ a t ] ucptt.com