[AS]BitmapDataからRGB色情報を取得し表示する。(桁数を調整)
桁数の調整について質問され、上手い回答が答えられなかったのでメモ。
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.MouseEvent;
/**
* ...
* @author 393
*/
public class GetPixel extends Sprite{
private var bmd:BitmapData;
private var bm:Bitmap;
public function GetPixel() {
bmd = new BitmapData(stage.stageWidth, stage.stageHeight, false, Math.floor(0x0000FF ));
bm = new Bitmap(bmd);
addChild(bm);
stage.addEventListener(MouseEvent.CLICK , clickHandler);
}
private function clickHandler(e:MouseEvent):void {
var posX:Number = mouseX;
var posY:Number = mouseY;
var rgb:uint = bmd.getPixel(posX, posY);
//↓これだと桁数が必ず6桁にならない
trace( "rgb : " + rgb.toString(16) );//出力:ff
//桁数を7桁にする
rgb = rgb + 0x1000000;
//↓2桁目~7桁目を抽出
trace( "rgb : " + rgb.toString(16).substr(1,6) );//出力:0000ff
}
}
}
Tweet