いつもお世話になっています、ggです。
CImageクラスを使って、画像を表示しています。
例:
imgOriginal1.Load(…);
imgOriginal1.StretchBlt(...);
質問:
画像の色を薄くしたいのですが、
例:
2色モノクロとフルカラーの表示場合は、全体の画像を薄くしたい。
目的としては、画像の上に線分などを重ねて表示しています、
画像の色が濃いので、線分などの表示はなかなか見づらいです。
まず、考えているのは、画像をクレにしようかな、
具体的にどうしたらいいかわかりません。
よろしくお願いします。
環境:.Net2002 XP
CImageを使用しているのなら
同サイズで、なんらかの色の塗りつぶした画像を用意し
元画像を「AlphaBlend」を用いて半透明処理で貼り付ける。
AlphaBlendの使い方はネットで検索してください。
rin さん
ご返事ありがとう。
半透明処理ですね、
まだやったことがないので、表示の速度が落ちるのでしょうか。
(拡大、縮小、移動など)
早速やってみます。
よろしくお願いします。
半透明処理した結果の画像は、もうただの画像
特殊な予備データなどを保持しているわけではないので
その他の処理には影響しません
その他の処理をするたびに半透明からやりなおすなら、
作業が増えるので当然遅くなる
rin さん
ご返事ありがとう。
>その他の処理をするたびに半透明からやりなおすなら、
>作業が増えるので当然遅くなる
やってみます。
ありがとうございました。
追加
>同サイズで、なんらかの色の塗りつぶした画像を用意し
>元画像を「AlphaBlend」を用いて半透明処理で貼り付ける。
やってみたのですが、
グレ色の塗りつぶした画像を用意し、
元画像を透過したのですが、一応、できました。
でも、元画像は2色ですが、透過後白い部分もグレ色になりました。
ほしいものは黒色部分がグレ色にして、白い部分はそのままです。
AlphaBlend()は無理でしょうか、
他の方法があるのでしょうか。
よろしくお願いします。
自分で解決しました。
意外に簡単だ。
白色にすればOKだ