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();



ブックマークする hatena del.ico.us


Comments

Post a Comment






Remember personal info