win32彙編 屏幕截圖保存BMP 學習筆記之資料蒐集

背景
本人剛自學編程不久 會有很多初級錯誤 繞了很多彎路 記錄下來也分享給各位網友 如有指教請在評論區留言 請輕拍
最近在做軟件屏幕識別 考慮到計時效率選擇了win32彙編
(其實是因爲我還沒有學會用VC, 那個project文件多到讓人頭大 )
之前用GetPixel函數做幾個像素的抓取 但是採樣點數增多的話效率驟降
根據下面這篇文章
http://www.cnblogs.com/xrwang/articles/1276826.html
結論
memcmp 整個屏幕像素對比 比GetPixel效率高很多 也更準確(因爲全屏對比了嘛)

那接下來的問題是 如何抓取屏幕轉換成爲BMP格式那種的數據呢?
看到有些人用的C++/.net GDI+ API 我一度想放棄了 雖然win32彙編也有GDIPlus的lib 但是覺得太麻煩了 不如換C++

後來網上搜索找到了論壇裏的一些討論看到Win32彙編GDI直接可以做截圖又燃起了我心中的希望
我也來學着寫(東拼西湊)一個截屏保存的程序出來練練手吧
看這裏 http://bbs.csdn.net/topics/340047369
這裏要感謝網友 raiky他的這個帖子貼出來的第一個函數_GetCaptureBmp 給了我很大啓發 我後面的代碼就是在這個基礎上修改的
可是上面這個論壇的帖子 看的雲裏霧裏 因爲我還是門外漢啊
raiky的程序是有點問題的 需要逐步推敲 還好有網友的討論給我流下了一些猜測的方向

接下來搜到了下面這篇文章 網友norains很認真的寫下了詳細的註釋 在此非常感謝
http://blog.csdn.net/norains/article/details/4594514
雖然是寫的WINCE 但是API函數是通用的,看完這篇文章我算是對windows下的截圖轉換BMP有了初步的認識,整個流程也漸漸清晰了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章