画像の色薄く – プログラミング – Home

通知
すべてクリア

[解決済] 画像の色薄く


gg
 gg
(@gg)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

いつもお世話になっています、ggです。

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

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

よろしくお願いします。

環境:.Net2002 XP


引用未解決
トピックタグ
rin
 rin
(@rin)
ゲスト
結合: 18年前
投稿: 112
 

CImageを使用しているのなら

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

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


返信引用
gg
 gg
(@gg)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

rin さん
ご返事ありがとう。

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

よろしくお願いします。


返信引用
rin
 rin
(@rin)
ゲスト
結合: 18年前
投稿: 112
 

半透明処理した結果の画像は、もうただの画像
特殊な予備データなどを保持しているわけではないので
その他の処理には影響しません

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


返信引用
gg
 gg
(@gg)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

rin さん
ご返事ありがとう。

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

やってみます。

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


返信引用
gg
 gg
(@gg)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

追加

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

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

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

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

よろしくお願いします。


返信引用
gg
 gg
(@gg)
ゲスト
結合: 18年前
投稿: 185
Topic starter  

自分で解決しました。

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました