« setRGB() | メイン | crossdomain.xml »
April 15, 2007
画像の色取得
import flash.display.BitmapData;
import flash.geom.ColorTransform;var pict_bd:BitmapData = BitmapData.loadBitmap("hand.jpg");
bitmap_mc.attachBitmap(pict_bd, 0);//マウスをスポイト画像に変更
this.attachMovie("pointer", "pointer", 1);
pointer._visible = false;
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function():Void {
var xMouse:Number = bitmap_mc._xmouse;
var yMouse:Number = bitmap_mc._ymouse;
if (xMouse >= 0 && xMouse < 663 && yMouse >= 0 && yMouse < 200) {
Mouse.hide();
pointer._visible = true;
pointer._x = _xmouse;
pointer._y = _ymouse;
var clr:Number = pict_bd.getPixel(xMouse, yMouse);
showInfo([xMouse+1, yMouse+1], clr);
} else {
Mouse.show();
pointer._visible = false;
}
updateAfterEvent();
};
Mouse.addListener(mouseListener);var clrTrans:ColorTransform = new ColorTransform(0, 0, 0, 1, 0, 0, 0, 0);
showInfo([0, 0], 0xFFFFFF);
function showInfo(pos:Array, clr:Number):Void {
picker.xPos.text = pos[0];
picker.yPos.text = pos[1];
var obj:Object = colorToRGB(clr);
kpicer.rgb.text = colorToStrRGB(clr);//RGBを表示clrTrans.rgb = clr;
picker.clr.transform.colorTransform = clrTrans;
//カラーイメージに色を設定
var myColor: Color = new Color( colorimg );
myColor.setRGB( clr );
}//カラー関数
function colorToRGB(clr:Number):Object {
var r:Number = (clr & 0xFF0000) >> 16;
var g:Number = (clr & 0x00FF00) >> 8;
var b:Number = clr & 0x0000FF;
var obj:Object = {r: r, g: g, b: b};
return obj;
}
//カラーを16進数に
function colorToStrRGB(clr:Number):String {
var rgb:String = ("00000" + clr.toString(16)).substr(-6).toUpperCase();
return rgb;
}
投稿者 ikoma : April 15, 2007 02:17 AM
トラックバック
このエントリーのトラックバックURL:
http://www.publicroots.com/cgi-bin/mt/mt-tb.cgi/31