いつもお世話になっています、ccです。
質問:
2色の画像(TIFF形式)をグレに変換したいのですが、
どうすればいいでしょうか。
(CImageクラスを使って、画像を表示できています)
よろしくお願いします。
環境:.Net2002 XP
グレてなんですか?
すみません。
//グレ
グレーに訂正します。
グレー色に変換したい。
よろしくお願いします。
もしかしてグレースケールと言う意味でしょうか?
淡色で書いちゃうと単なる白黒二値の黒の所が灰色になるだけに
なっちゃうと思いますけれど。
何とか自分がイメージしている処理の内容をうまく伝えるように
説明しないと文字だけでやり取りしているので誤解されたまま
話が進んでしまいます。
一般的な用語を知っているのであれば、そっちで説明するのが
簡単なんですが、用語が分からない時はイメージが伝わるように
説明する努力が必要になりますよ。
PATIOさん
ご回答ありがとう。
>淡色で書いちゃうと単なる白黒二値の黒の所が灰色になるだけに
白黒二値の黒の所が灰色に変換したい。
スライダーコントロールのスライダー値によって濃淡を調整したい。
>...説明する努力が必要になりますよ
頑張ります。
よろしくお願いします。
...で、何がわからんのですか?
CImageには GetPixel/SetPixelメソッドがあるんだから
for ( x : 幅 )
for ( y : 高さ )
image.SetPixel(x, y, 変換関数(GetPixel(x,y)));
んでもって変換関数をテキトーに定義するだけちゃいますの?
επιστημηさん
ご回答ありがとう。
以下のようにやってみたのですが
COLORREF color;
color = RGB(198,198,198);
for (int j=0; j<250; j++)
for (int i=0; i<250; i++)
pDoc->imgOriginal1.SetPixel(j, i, color);
pDoc->imgOriginal1.StretchBlt(*pDC, ・・・)
色が変わりませんでした。
何か間違っているのでしょうか。
よろしくお願いします。
GetPixelして 198,198,198 になってるならば色の変更はできてるわけで、
そいつを画面に出すとこでしくってんでしょね。
CImageのオブジェクトがフルカラーの場合はSetPixelで色を変えられます。
パレットを持つ場合はこちら
http://msdn.microsoft.com/ja-jp/library/6kt6bh7e%28VS.80%29.aspx
#なぜかスパムキーワードになるのでリンク。
επιστημηさん
ご回答ありがとう。
>GetPixelして 198,198,198 になってるならば色の変更はできてるわけで、
帰ってきたRGBの値は(255,255,255)でした。
うまく変更できっていないですね。
使ってファイルの形式がTIFFでした。
(2色と256色です)
よろしくお願いします。
subaruさん
ご回答ありがとう。
フルカラーをやってみたら、正常に色が変わりました。
subaruさん
ご回答ありがとう
引数の部分がどう設定すればいいでしょうか。
よろしくお願いします。
subaruさん
ご回答ありがとう
スパムチェックエラー
送信できません
subaruさん
ご回答ありがとう
引数の部分がどう設定すればいいでしょうか。
よろしくお願いします。
pDoc->imgOriginal11.(?,color,?)