0

少し前に、hwndをppmファイルに保存することについて質問しました。stackoverflowユーザーのおかげで、問題は解決しました。Iyは正しく機能しますが、まだ問題があります。赤と青の色が反転しています。

コードと私の前の質問はここにあります: hwnd to ppm issue

ビットマップ情報データは次のとおりです。

bi.biSize = sizeof(BITMAPINFOHEADER);    
bi.biWidth = w;    
bi.biHeight = -h;  
bi.biPlanes = 1;    
bi.biBitCount = 24;    
bi.biCompression = BI_RGB;    

bi.biSizeImage = 0;  
bi.biXPelsPerMeter = 0;    
bi.biYPelsPerMeter = 0;    
bi.biClrUsed = 0;    
bi.biClrImportant = 0;

グーグルで検索したところ、問題はBI_RGBのようで、BI_BITFIELDSを使用する必要があります...しかし、使用方法に関するドキュメントが見つかりませんでした。また、青と赤の色を元に戻すために、すべてのデータをピクセルごとに読み取る必要はありません。ピクセルごとに実行せずにそれを実行する方法はありますか?

よろしくお願いします

4

1 に答える 1

2

24bpp BMPでは、ピクセルは最小エンディアン順で色を保存します。青が最初、赤が最後です。PPMでは、赤が最初で、青が最後です。これは主に、Windowsでこのようなあいまいな画像形式である理由を説明しています。自分で保管順序を入れ替える必要があります。

于 2012-08-31T10:54:03.847 に答える