如何將圖像中的像素(.png文件)轉換爲整數數組,其中每個像素都轉換爲與其ARGB整數相等的整數數組?順便說一下,不是一個2D整數數組,一個1D(通過數組[row * width + col]訪問的地方)。C++將圖像轉換爲整數陣列
謝謝。
如何將圖像中的像素(.png文件)轉換爲整數數組,其中每個像素都轉換爲與其ARGB整數相等的整數數組?順便說一下,不是一個2D整數數組,一個1D(通過數組[row * width + col]訪問的地方)。C++將圖像轉換爲整數陣列
謝謝。
一旦您已經閱讀圖像數據,以一定的緩衝,普通鑄鐵應該做的伎倆:
GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file ("image.png", NULL);
unsigned char *pixels = gdk_pixbuf_get_pixels (pixbuf);
int *array = reinterpret_cast<int*>(pixels);
示例使用GdkPixbuf庫,但其他圖書館應該是類似。
除非你是爲了興趣和學習而做,否則我會建議你使用第三方庫,例如ImageMagick。
這將節省您的時間(避免錯誤)
時間流逝,現在ImageMagick存在多個API。 C++是[Magick ++](http://www.imagemagick.org/Magick++/)。 – Hastur 2015-02-16 21:49:37
如果您真的想在沒有第三方庫的情況下做到這一點,您將希望成爲PNG規範的好朋友:http://www.w3.org/TR/PNG/。閱讀完(和相關資料)後,這只是編程的一小部分。 – 2010-04-17 19:53:29
我建議你不要接近精神科診所,否則會卡住。 – jweyrich 2010-04-17 20:02:22
@jweyrich,你是什麼意思? @詹姆斯,謝謝,我會檢查出來的。 – jonathanasdf 2010-04-17 20:04:38