ページ 11

DXライブラリで描画時に色を変える

Posted: 2010年1月31日(日) 23:01
by チック
DXライブラリで描画時に色を変えるみたいなことはできるのでしょうか?
例えばRGBカラーのうち赤い色を強調して表示するなどです。

RGB(0xff,0x00,0x00)などと入れたら画像が真っ赤で表示されるようにしたいです。

Re:DXライブラリで描画時に色を変える

Posted: 2010年1月31日(日) 23:17
by kazuoni
> RGB(0xff,0x00,0x00)などと入れたら画像が真っ赤で表示されるようにしたいです。

をみる限りだと色の強調とは違う気がします。
では

RGB(0x00,0xff,0x00)

としたら、画面は緑色になればよいのでしょうか?
それならば、関数DrawBoxでいいはずです。

>赤い色を強調して表示する

例えば、青空の写真があってそれを赤強調に、夕焼けの背景みたいにしたい
なんて時は色の強調であってます。キーワードは濃淡変換です。
具体的にはトーンカーブで3値をいじればよいです。
っといってもチックさんが思っているように
RGB(0x00,0xff,0x00)
という風にはやらず、画像上の全ピクセルのRの要素だけ、ある関数をかけてやります。
その結果を代入してやればいわゆる濃淡変換となります。
ある関数というのがトーンカーブです。

詳しくはいろいろググって見てください。
1から学ぶ画像補正
http://osaka.yomiuri.co.jp/digiphoto/sy ... 001052.htm
#暇があったらサンプルつくってみようかなぁ。

Re:DXライブラリで描画時に色を変える

Posted: 2010年1月31日(日) 23:36
by チック
すみません。
質問の仕方が悪かったです><

DrawGraph等で表示する画像を
トーンカーブやグラデーション等はかけずに
べたで赤い画像を表示したいです。

例えばなのですがキャラクターのシルエットなどを
黒く表示したいです。

Re:DXライブラリで描画時に色を変える

Posted: 2010年2月01日(月) 00:02
by kazuoni
あ、そういうことでしたか。

ならば、画像からマスク画像を生成すればよいですね。

つい先日、この掲示板であった質問から作ったプログラムが
ちょうど今回の回答にも使えそうなので、サンプル載せておきます。

が、これは質問者さんの直接の解決方法ではないかもしれません。
というのも、自分のサンプルでは、画像ハンドルを生成してしまいます。
まあ、これ(ハンドル生成)が最善な気がしますが・・・。

Re:DXライブラリで描画時に色を変える

Posted: 2010年2月01日(月) 00:09
by kazuoni
すみません。補足忘れてました。
face2.pngを用意して下さい。
この名前の画像は管理人さんの龍神録プログラミングの館で配布されている
龍神録画像データの中にあります。

スナップショットつけておきます。

Re:DXライブラリで描画時に色を変える

Posted: 2010年2月01日(月) 00:33
by チック
できました><
ありがとうございます。
助かりました。