2014年10月30日木曜日

アンチエイリアスについて考える~その2~

さて、前回言いかけた、色を数値で扱う話の続きをしたいと思います。
(今回はわざと文字ばかりの紹介にしています。色を実際に作って、確認してみて欲しいと
思ったからです。ぜひお絵かきソフトを一緒に起動して色を作ってみてください。)

一般的な1677万色ディスプレイでは赤色255段階、緑色255段階、青色255段階で色を表現します。
255の3乗が約1677万という数値になります。

さて、その1677段階の中間色からどうやって中間色の中間色(=アンチエイリアスに使う色)を作り出すかというと、これもまた前回使った「赤」「緑」「青」に分けて考える訳です。

具体例を用意します。
「赤:255、緑:255、青:0」の黄色と「赤:0、緑:128、青:0」の緑があり、この中間色を用意したいとします。

まずは1色だけのパターンを考えましょう。
前回の話で中間色を作るにはそれぞれの成分で中間くらいを選ぶと言いました。
同じように数値で作る場合は、その値の平均=中間を取ります。

赤は255と0です。この中間は(255+0)/2=128ですね。
同じように
緑は255と128なので、(255+128)/2=192、
青は0と0なので(0+0)/2=0です。

よって中間色は「赤:128、緑:192、青:0」の少し暗めの黄緑色になります。
(ここでは具体的な色は画像にしません。実際に作って確認してみてください。)

このさらに中間色が欲しい時はまた平均をとれば良さそうですね。

では中間色を2段階(元の色を含めて4色)作るときはどうすれば良いでしょうか。
この場合は重みを用いた平均を使います。
具体的には寄せたい方の色をX、遠い方の色をYとすると(2X+Y)/3の値を求めるということです。

また具体例を出しましょう。
先ほどの「赤:255、緑:255、青:0」の黄色と「赤:0、緑:128、青:0」の緑でやってみます。

まずは黄色寄りの中間色から。
赤の場合は(255×2+0)/3=170
緑の場合は(255×2+128)/3=212
青の場合は(0×2+0)/3=0
この色は明るめの黄緑となります。

続いて緑寄りの中間色はというと
赤:(255+0×2)/3=85
緑:(255+128×2)/3=170
青:(0+0×2)/3=0
この色は黄色がかった緑になるはずです。

このように面倒ですが計算で色を求めることでアンチエイリアスに必要な中間色を
作り出すことが可能です・・・・が実用には向きませんよね。

次の回では実際に無料ソフトのPictbearを使って中間色を作り出す方法を紹介します。
これであなたも簡単にアンチエイリアスを練習することができるはずです。

0 件のコメント:

コメントを投稿