[問題] BMP鏡射之後結果有點怪怪的....

看板C_and_CPP (C/C++)作者 (Aesthetic)時間15年前 (2010/08/15 10:25), 編輯推噓2(207)
留言9則, 3人參與, 最新討論串1/1
我已經正確的讀取了BMP的資料 並且存進了陣列了 我動態宣告了兩個陣列 大小都已經正確設定 image跟IMAGE 然後圖片的資料是存到image的,IMAGE主要是用來輸出新的 我開始做鏡射 但是後來輸出的圖片非常之怪 就是有點歪一邊 我改了很多地方都找不到錯誤 圖片是這樣的 Input : http://myweb.ncku.edu.tw/~f7497216/Input.bmp Output:http://myweb.ncku.edu.tw/~f7497216/Output.bmp 以下是我那邊的運算法 for(i=0;i<height;i++){ for(j=0;j<=rowsize;j++){ IMAGE[i][j]=image[i][rowsize-j]; } } 至於rowsize是這邊:rowsize = infoHeader.biWidth * infoHeader.biBitCount/8; //計算每個row的Size 然後後來有確定為四的倍數過了 最後的時候: for(int i=height-1;i>=0;i--) output.write(reinterpret_cast<char*>(IMAGE[i]), rowsize); 重點應該不是在reinterpret_cast我有改成(char*)還是怪怪 然後我有讀取RGB也有寫回 所以我覺得一定是我那段運算的地方出了問題 Header的地方應該沒錯 因為我有試過什麼都沒有調整輸出一個新的Output.bmp 顏色大小都是正確的。 小小的功能 讓我寢食難安 請各位高手幫幫我阿~~~~~~~~~~~~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.112.93 ※ 編輯: skyhigh8988 來自: 140.116.112.93 (08/15 10:26)

08/15 10:57, , 1F
圖片檔的寬高, 與bit count報一下.
08/15 10:57, 1F

08/15 11:00, , 2F
還有請給一下完整程式碼, 只給這種片段有點難查....
08/15 11:00, 2F

08/15 11:01, , 3F
阿 我蠢了,我想到了 不是一格陣列一個圖...
08/15 11:01, 3F

08/15 11:01, , 4F
沒錯是Bitcount的地方...XD
08/15 11:01, 4F

08/15 11:01, , 5F
圖檔後來直接看上傳圖, 是358x358x24bit了:)
08/15 11:01, 5F

08/15 11:04, , 6F
沒錯,錯是錯在 並不是一個陣列就形成一個顏色
08/15 11:04, 6F

08/15 11:04, , 7F
不是一個entry而是 數個成為一個顏色@@
08/15 11:04, 7F

08/15 11:05, , 8F
mm~~看bit count, 應該是3個byte一個顏色:)
08/15 11:05, 8F

08/15 11:12, , 9F
XD
08/15 11:12, 9F
文章代碼(AID): #1CPr0PR4 (C_and_CPP)
文章代碼(AID): #1CPr0PR4 (C_and_CPP)