画像の色薄く

[戻る]
gg 2008/07/01(火) 12:18:25
いつもお世話になっています、ggです。

CImageクラスを使って、画像を表示しています。
例:
imgOriginal1.Load(…);
imgOriginal1.StretchBlt(...);

質問:
画像の色を薄くしたいのですが、
例:
2色モノクロとフルカラーの表示場合は、全体の画像を薄くしたい。
目的としては、画像の上に線分などを重ねて表示しています、
画像の色が濃いので、線分などの表示はなかなか見づらいです。
まず、考えているのは、画像をクレにしようかな、
具体的にどうしたらいいかわかりません。


よろしくお願いします。

環境:.Net2002 XP

rin 2008/07/01(火) 12:55:10
CImageを使用しているのなら

同サイズで、なんらかの色の塗りつぶした画像を用意し
元画像を「AlphaBlend」を用いて半透明処理で貼り付ける。

AlphaBlendの使い方はネットで検索してください。

gg 2008/07/02(水) 08:31:42
rin さん
ご返事ありがとう。

半透明処理ですね、
まだやったことがないので、表示の速度が落ちるのでしょうか。
(拡大、縮小、移動など)
早速やってみます。

よろしくお願いします。

rin 2008/07/04(金) 09:43:02
半透明処理した結果の画像は、もうただの画像
特殊な予備データなどを保持しているわけではないので
その他の処理には影響しません

その他の処理をするたびに半透明からやりなおすなら、
作業が増えるので当然遅くなる

gg 2008/07/04(金) 16:46:00
[[解決]]
rin さん
ご返事ありがとう。

>その他の処理をするたびに半透明からやりなおすなら、
>作業が増えるので当然遅くなる

やってみます。

ありがとうございました。

gg 2008/07/07(月) 14:47:17
追加

>同サイズで、なんらかの色の塗りつぶした画像を用意し
>元画像を「AlphaBlend」を用いて半透明処理で貼り付ける。

やってみたのですが、
グレ色の塗りつぶした画像を用意し、
元画像を透過したのですが、一応、できました。

でも、元画像は2色ですが、透過後白い部分もグレ色になりました。
ほしいものは黒色部分がグレ色にして、白い部分はそのままです。

AlphaBlend()は無理でしょうか、
他の方法があるのでしょうか。

よろしくお願いします。

gg 2008/07/09(水) 11:25:12
自分で解決しました。

意外に簡単だ。
白色にすればOKだ

古いスレッドには追加発言できません。