• ベストアンサー

MFC DrawText 背景色とフォント

DrawTextでテキストを表示しています。 背景色は透過に設定したいのですが、背景色が可変です(画像を表示するため) テキストを白にすると背景が白になった場合見えなくなってしまうのですが、 良い方法は無いでしょうか? 背景色に左右されないフォントなど無いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Layle
  • ベストアンサー率75% (6/8)
回答No.1

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

spendtoomuch
質問者

お礼

参考になりました!

関連するQ&A

専門家に質問してみよう