DWORDで整列されていない生のピクセルデータ(行* col = 479 * 638)をDWORDで整列されたビットマップデータに変換する必要があります。疑いはほとんどありません。
1)dワードアラインと言うとき、それはdwordアラインされたメモリ全体を割り当てることですか、それとも幅DWORDアラインにすることですか?
2)DWORDで実際の幅を調整する場合は、DWORDで調整するため、最後に2バイトを追加して、幅= 640にします。ただし、ソースから宛先へのメモリコピーを実行すると、暗い黒が残ります。下部の線。しかし、実際の画像から混乱を招くため、これらの暗い線は必要ありません。では、どうすれば最後にこの黒い線を避けることができますか?
これを解決するために、dwordに合わせて割り当てられた合計メモリについてだと思いました。そして、私はそれだけのdword整列メモリを割り当てました。
bitmapData = (LPBYTE) GlobalAlloc(GMEM_FIXED, bmiHeader->biSizeImage);
どこ bmiHeader->biSizeImage = nrows * dowrdalignedwidth * BPP.
実際のmemcopyを実行している間、私はコピーしてに書き込みrows*cols*BPP
ます。これは正しいです?