- ベストアンサー
MFC DrawText 背景色とフォント
DrawTextでテキストを表示しています。 背景色は透過に設定したいのですが、背景色が可変です(画像を表示するため) テキストを白にすると背景が白になった場合見えなくなってしまうのですが、 良い方法は無いでしょうか? 背景色に左右されないフォントなど無いでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
背景色に左右されないフォントはちょっと分からないので、プログラミングで対処する方法をいくつか考えてみました。 とりあえず、テキストが見えなくなってしまうのが問題ということなので… 1.フォントに反転色の縁取りを追加する。 例えば文字が白なら黒で縁取りをすることである程度背景に関わらず見えるようになると思います。 縁取りの機能はありませんので、以下のように描画することになると思います。 1.縁色に変更 2.右に1ドットずらして描画 3.左に1ドットずらして描画 4.上に1ドットずらして描画 5.下に1ドットずらして描画 6.文字色に変更 7.本来の位置に描画 2.予めBitmapに文字を出力しておき、BitBltの際にSRCINVERTを指定してXOR描画する。 ただ、背景部分の色を変化させないために、Bitmap作成時にまずは元画像をSRCINVERTでコピーして、そのうえで文字を描画する必要があります。 2よりは1の方が現実的ですかね。
お礼
参考になりました!