• ベストアンサー

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

  • 画像の背景が・・・(FLASH)

    FLASH MXで画像をアルファで徐々に透明になるようにしているのですが そこでちょっと困ってます。 FLASHの背景は白ではなくオレンジです イラストレータでマットをオレンジで透過GIFで書き出して FLASHで読み込み、貼り付けたまでは背景と一体化しているのですが モーショントゥイーンを設定して再生すると 画像の背景が少し薄くなって四角い画像が入っているのがばればれで どの方法でやってもうまくいきません。 ひとつだけ、イラレで直接FLASHにコピペした場合はうまくいきます しかし、フォントが読めないとか指定してもえらく細くなったり とうまくいきません。 何か方法はないでしょうか?よろしくお願いします。

  • エクセル2010のドリル、フォント「背景1」とは?

    基礎確認中で、エクセル2010のドリルをしています。 やり方はわかりますが言葉の意味が分かりません。 ※問題、次のように書式設定しましょう。 1、塗りつぶしの色:濃い青、テキスト2 2、フォントの色 :白、背景1 上記問題の「テキスト2」「背景1」とは何のことですか?

  • MFCでbitmapを背景にしてstaticテキストを透過させる方法

    MFCでbitmapを背景にしてstaticテキストを透過させる方法 VisualStadio2005 MFC ダイアログベースでプログラムを作成しています。 bitmapをPictureControlで配置し、その上にStaticControlを配置して 画像の上に文字が表示されるようにしたいのですが、 Staticの背景を透過させて、下の画像を表示されることができません。 OnCtlColor()でstaticにSetBkMode(TRANSPARENT)を設定すると、 Dialog自体の色が出てきてしまいます。 どうかご教示お願いいたします。

  • ブラウザでフォント設定や背景色、背景画像などが表示されません。

    先日こちらで質問をさせていただいたのですが、 未解決なまま時間が過ぎてしまったので、改めて書き直させていただきます。 最近Windows XPのノートパソコンを使い始めたのですが、 ブラウザを開いてみたら字の大きさがぐちゃぐちゃになっていて、 背景画像や背景色なども全く表示されず、 あまりにも酷かったのでこちらでのアドバイスによりブラウザをIEからFirefoxに切り替えました。 それによって字の大きさについては解決したのですが、 背景画像や背景色、また文字色などのフォント設定が全く表示されません。 通常の画像などは表示されるのですが、 その他の<BODY><FONT>タグで設定するようなものは無効になっており、 これらについてはどのサイトも初期設定の状態で表示されてしまいます。 他のパソコンで見たら問題はないのでこのパソコンのブラウザやそれに関わるものがおかしいのだとは思いますが、 どうすれば良いのかわかりません。 誰か解決策をご存知でしたら教えてください。

  • アイコンを選択すると背景が・・・

    デスクトップのカスタマイズをしています。 それでアイコンテキストの背景を透過するのに 透郎とういうソフトで透過をすることが出来たのですが そのアイコンを選択すると、背景が青になってしまうんです。 ウィンドウの色やフォントの色なども変えてカスタマイズしたのですが その選択時の青だけが、イメージと全然合っていないんです・・・ 選択時のテキスト背景の色は、どこで設定すればいいのでしょうか? いろいろやってみたのですが、分からなかったので 質問させてもらいました。 宜しくお願いします。

  • 透過ファビコンをサーバーにUPしたら白背景になる

    透過したfaviconをサーバーにUPしたら白背景になります。 元画像は背景透過済みのpng画像です。 いざサーバーにUPしてURLの横やタブに表示されるファビコンを見ると何故か背景が白いです。 いろんなサイトでファビコンを作って試しましたが、改善しません。 パソコンでファイルを開いて確認するとちゃんと透過されてるのですが。 どうしたら透過されたファビコンが表示されるのでしょうか。

  • ペイントショッププロ8のgif画像について教えてください

    お世話になります。サイト用gif画像のテキスト について教えて下さい。フォントサイズ12位で色は黒です。gifにてエクスポートしサイトに貼り付けると、 かなり見栄えの悪いテキストになってしまいます。 サイトの背景が白ではないので透過効果にしたく、gif にしていますが、なにか良い方法は無いでしょうか? 宜しくお願いします。

  • 背景画像の上に透過GIF背景をのせる方法

    はじめまして。 メモ帳にHTMLタグ打ち込みでWEBページを作ってるのですが、 bodyで背景画像を指定し、その上に透過GIFをおき、さらにその上にテキストを表示させるにはどうしたらよいのでしょうか。 具体的には、「テキストを表示させるブロック(tableやdiv)の部分」を半透明の透過GIFをフィルターみたいにかぶせて、その上に書くテキストを見やすくさせたい、という動機です。 divのなかのstyle、またはtableでbackgroundを定義しても、もとのbodyの背景が反映されなくなってしまうのですよね。 一応、自分で考えた策としては ・ブロックの背景そのものを、ある程度薄い色に変えた画像を用意してそれをtableの背景にする というものがあるのですが、これはやはりつなぎ目の部分でズレてしまって見栄えがあまりよくないのです。 かなり細かいところにこだわりすぎな感じもするんですが、 ぜひとも叶えたいのでどなたか方法をご存知でしたら教えていただきたいと思います。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • VB2005 コントロールの背景を透過

    フォームにバックグラウンドイメージを設定しているのですが その上にグループボックスやラベルを貼り付けたら、フォームのイメージが隠れてしまいます。 VB6はコントロールに背景を透過にするプロパティがあったので探してみたのですが、見当たりません。 おそらくVB2005でも簡単に透過設定できると思うのですが… グループボックスとラベルを透過に設定する簡単な方法はありますでしょうか? (コントロールの継承になってくる?) また、これはおそらく無理だと思うのですが ピクチャーボックスで表示されている画像の透過部分にも フォームの背景イメージを表示させる、ということは可能でしょうか? よろしくお願い致します。

  • ウェブアニメーターの背景(パレット部分)を透過したくないのですが。

    ホームページビルダーに付録しているウェブアニメーターの使用方法について。 背景部分がどうしても透過してしまいます 1フレームごとに透過を解除したらなんとかできそうですが、その方法しかないんでしょうか? 初めにいちおう白色でパレット色設定したんですが。。。 白に表示はされているものの、各フレームが透過されていて できあがりはやっぱり透過されています。 いい方法ありましたら教えてください

専門家に質問してみよう