StretchBltにて縮小表示に失敗 – プログラミング – Home

StretchBltにて縮小表示に失敗
 
通知
すべてクリア

[解決済] StretchBltにて縮小表示に失敗


チャイ
 チャイ
(@チャイ)
ゲスト
結合: 16年前
投稿: 24
Topic starter  

開発環境は 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は表示したいサイズ(比率は固定)
としています。

問題の現象が起きるのは、画像を縮小して表示しているときだけです。
ちなみに、画像をファイルに出力して確認したのですが大丈夫でした。

すみませんが、ご教授を宜しくお願いします。


引用未解決
トピックタグ
チャイ
 チャイ
(@チャイ)
ゲスト
結合: 16年前
投稿: 24
Topic starter  

追記ですみません。

テキストの右と下の部分というのは、ビットマップ上にDrawTextで描画した
テキスト画像全体の右部分と下部分ということです。
画像はダイアログのサイズ変更に連動して拡大・縮小するように作っています。

どうも実際の画像より縮小して表示している場合だけ、問題の領域が再描画されないよ
うです。背景は縮率に関係なく正常に表示されています。


返信引用
チャイ
 チャイ
(@チャイ)
ゲスト
結合: 16年前
投稿: 24
Topic starter  

自己解決。
説明不足だったかもしれないのですが、
縮率が1倍より小さくならないように処理を変えて対応しました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました