2011-11-14 30 views
1

我已將圖像讀入LPPICTURE並使用OleLoadPictre顯示在窗口中,但我真正需要做的是將圖像轉換爲像素矩陣,我可以操縱並保存回圖像文件。在C++中將圖像讀入像素矩陣

使用OleLoadPicture,我能夠在讀取幾乎所有主要的圖像格式。如果我可以訪問單個像素,我可以循環並提取所有像素。

在其他相關的問題,人們都建議使用類似的OpenCV等高度發達的圖書館,其在陽光下做的一切笨重的圖書館,但我寧願讓我的解決方案儘可能輕。我已經爲我的像素編寫了一個基本結構,我很樂意親自操作這個操作。

我一直在尋找的ImageMagic圖書館與魔術++。它看起來相當不錯,但如果只有使用Windows API提取像素並將圖像保存爲任意圖像格式的解決方案,那麼我認爲這是最好的/最輕的。

回答

1

OleLoadPicture給你IPicture一個實例。使用IPicture::get_Handle獲得由IPicture情況下舉行的HBITMAP。最後,使用GetDIBits來獲取像素數據。

有做這件事here示例代碼。將它從MFC轉換爲純WinAPI應該可以獲得像素數據。