home > 画像の色を平均化
画像の色を平均化
May 22, 2007
色ネタでもういっちょう。色の平均化のプログラムを作ってみました。
~画像に50ピクセルごとにプロットをうつ(省略)~
//各プロットの色を検出
for (i=1; i<=45; i++) {
//各プロットの色
var clr2:Number = pict_bd.getPixel(xzahyou[i], yzahyou[i]);r[i] = (clr2 & 0xFF0000) >> 16;
g[i] = (clr2 & 0x00FF00) >> 8;
b[i] = clr2 & 0x0000FF;
}//R、G、B、それぞれの色の平均値を求める
for (i=1; i<=45; i++) {
R_Plus = R_Plus+r[i];
G_Plus = G_Plus+g[i];
B_Plus = B_Plus+b[i];
}
trace("R平均値 = "+Math.floor(R_Plus/45));
trace("G平均値 = "+Math.floor(G_Plus/45));
trace("B平均値 = "+Math.floor(B_Plus/45));RGBを16進数に変換
aa_numb = Math.floor(R_Plus/45).toString(16);
bb_numb = Math.floor(G_Plus/45).toString(16);
cc_numb = Math.floor(B_Plus/45).toString(16);
trace("R平均値(16進数) = "+aa_numb);
trace("G平均値(16進数) = "+bb_numb);
trace("B平均値(16進数) = "+cc_numb);//16以下なら前に0を加える
if(Math.floor(R_Plus/45) <= 16 ){aa_numb = "0"+aa_numb;}
if(Math.floor(G_Plus/45) <= 16 ){bb_numb = "0"+bb_numb;}
if(Math.floor(B_Plus/45) <= 16 ){cc_numb = "0"+ cc_numb;}cPlus = "0x" + aa_numb + bb_numb + cc_numb;
trace("合計カラー値 = "+cPlus);//RGBを表示
trace(aa_numb + bb_numb + cc_numb);
this.kpicer.rgb.text = aa_numb + bb_numb + cc_numb;//カラー設定関数
ColorSet(cPlus);
function ColorSet(nu:Number) {
var myColor:Color = new Color(this.colorimg);
myColor.setRGB(nu);
}
this.stop();