[PR]テレビ番組表
今夜の番組チェック
色を変える
一応プログラムの開発手順を載せておきます。
プログラム開発手順
- Groupを打ち込む(適当に名前をつける)
- Titleを打ち込む(適当に名前をつける)
- [Clear]ボタンを押す(別に押さなくてもプログラムを上書きすればよい)。
- Initializeプログラムを打ち込む
- Transformプログラムを打ち込む
- [Compile]ボタンを押してエラーチェックする
- [Save]ボタンを押してプログラムを保存する
基本的に色をいじる場合には、初期化プログラムは以下のものを使います。
---Initialize---
coord=0;
[Clear]ボタンを押した後、必要のない部分を削ればOKです。
あとはTransformのプログラムのみを編集します。
さて、ほとんどの画像がコンピュータ上ではカラーをあらわすために各ピクセル値はRGBの値で保存されています。それぞれ0〜255の値をとります。これは、この数値が1バイトに収まるので都合がいいからです(3Dグラフィックを扱う場合はfloatなどを使うため0〜1の実数を使うこともあります)。このプログラムでも、RGBの各値は0〜255をとります。計算結果が実数となった場合は小数点以下切捨てを行っています。
次のプログラムを考えて見ます。
---Transform---
R=0;
B=0;
RとBに0を設定しています。ということは、Gの値のみデフォルトが残るということになります。結果は、赤も青の成分も含まない画像になります。

では、次のようにしてみましょう。
---Transform---
R=G;
B=G;
赤も青も緑の値にするというプログラムです。
三原色が全て同じ値になるので、モノクロになってしまいます。ここでGの値を選んだわけは、緑色が三原色の中で一番人間の目に敏感だからです。

では明るい色を暗くして、暗い色を明るくしたら?
---Transform---
R=255-R;
G=255-G;
B=255-B;
このプログラムでは、255の値は0に、0は255に変更されます。よって、明るい色は暗く、暗い色は明るくなります。

ネガ写真のようになります。
今度は緑をちょっと強調してみましょう。Gを1.2倍して、Gに代入しています。
---Transform---
G=G*1.2;
左の元の写真が、右のようになります。緑が明るくなりましたが、花の色も緑っぽくなってしまいました。

写真の色を変えるというのも、このように実は簡単な数式で実現できます。
戻る