開発環境は XP, VC++2005, MFC(ダイアログベース) です。
モノクロのBMP(背景とテキスト)を重ねてピクチャコントロールへ表示する処理を
しているのですが、テキストの右と下部分が表示されずに困っています。
(画像は共にH150xW1700[dot])
背景はファイルからロードしたもの、テキストはCBitmapのメンバを用意して
CreateBitmapしたものを使用しています。
(CBitmap::CreateBitmap( 1700, 150, 1, 1, pMem );)
表示は、OnDrawItem内で
::StretchBlt( hdcDst, -nOff, 0, x, y, hdcBack, 0, 0, 1700, 150, SRCCOPY );
::StretchBlt( hdcDst, -nOff, 0, x, y, hdcText, 0, 0, 1700, 150, SRCAND );
※nOffはスクロールバーとリンク
※x,yは表示したいサイズ(比率は固定)
としています。
問題の現象が起きるのは、画像を縮小して表示しているときだけです。
ちなみに、画像をファイルに出力して確認したのですが大丈夫でした。
すみませんが、ご教授を宜しくお願いします。
追記ですみません。
テキストの右と下の部分というのは、ビットマップ上にDrawTextで描画した
テキスト画像全体の右部分と下部分ということです。
画像はダイアログのサイズ変更に連動して拡大・縮小するように作っています。
どうも実際の画像より縮小して表示している場合だけ、問題の領域が再描画されないよ
うです。背景は縮率に関係なく正常に表示されています。
自己解決。
説明不足だったかもしれないのですが、
縮率が1倍より小さくならないように処理を変えて対応しました。