「なでしこ」で画像の色情報を取得する
画像というのは、ピクセル単位の色を2次元平面上にずらっと並べたものだ。例えば、横が320ピクセル、縦が240ピクセルのいわゆるQVGAの画像の場合は、320×240=76800ピクセル分の色が並んでいることになる。下の画像は、この大きさの画像をIrfanViewで読み込んでみたところだ。IrfanViewでは、画像の任意の場所を右クリックすると、メニューバーのところにその場所のカラーコードが表示される。
上の例では、横位置(X)=91 縦位置(Y)=135 のカラーコードが、R=254 G=181 B=102、HTML形式の16進表示では、#FEB566 であることがわかる。
「なでしこ」で、この色コードを取得する方法は、ピクセルの位置(X,Y)を指定して次のように書く。
画像色取得(X,Y)
http://nadesi.com/doc/cmd/doc.cgi?mode=cmd&id=2156
画像色取得命令で取得したカラーコードは10進表現になっているが、「なでしこ」では、この他に、16進表現($RRGGBB)と、RGB表現が可能だ。RGBで表す場合は、関数RGBを使って、RGB(R,G,B)のように書く。
RGB(R,G,B)
http://nadesi.com/doc/cmd/doc.cgi?mode=cmd&id=296
それでは、早速プログラムでこの「画像色取得」命令を使って、IrfanViewで表示されたのと同じカラーコードが取得できるかを試してみる。
//画像色取得
画像WKとはイメージ; 画像WKの画像="TEST.jpg"
X=91;Y=135;R=254;G=181;B=102;HTML=$FEB566 // IrfanViewの参照値
移動(0,300)
表示("RGB 形式 = "&RGB(R,G,B))
表示("HTML形式 = "&HTML)
表示("色取得は = "&画像色取得(画像WK,X,Y))
//ここまで
実行すると、下の画像のようになるはずだ。
画像色取得命令で取得したカラーコードが、IrfanViewに出ていたコードと同じ数値になることがわかる。
0 Comments:
コメントを投稿
<< Home