いつもお世話になっています、ddです。
下記の参照して、画像処理をやっています。
http://eternalwindows.jp/graphics/bitmap/bitmap11.html
問題1
MirrorBits(hbmpBackbuffer, 0, 0, bm.bmWidth, bm.bmHeight, hbmpMem, crTransparent);
実行の結果:反転していなかった。画像が表示しています。
問題2
AlphaBits(hbmpBackbuffer, 0, bm.bmHeight + 10, bm.bmWidth, bm.bmHeight, hbmpMem,
crTransparent, 60);
実行エラー
調べるところで、
テスト画像のサイズ640*480 24ビット
bm.bmHeight + 10=480+10=490
LPBYTE GetBits(HBITMAP hbmp, int x, int y)の部分に
lp += (bm.bmHeight - y - 1) * ((3 * bm.bmWidth + 3) / 4) * 4;
ここで
bm.bmHeight=480
y=490
(bm.bmHeight - y - 1)=-2
lp=0x00dfad80<不適切Ptr>
どこの問題でしょうか。アドバイスお願いいたします。
よろしくお願いします。
環境:.Net2002 Windows XP
自分で解決しました。
AlphaBits(hbmpBackbuffer, 0, bm.bmHeight + 10, bm.bmWidth, bm.bmHeight, hbmpMem,
bm.bmHeight + 10ではないので、
0にすれば、反転と透過を表示しています。
すみませんでした。