画像のピクセル値を取得する - Action Script
Flash Action Script で画像のピクセル情報を取得するコードを紹介します。
概要
画像のピクセルごとのカラー情報を参照する場合、BitmapDataクラスのgetPixelメソッドを使用します。
コード
以下のコードでは、Loaderを用いて画像ファイルを読み込み、読み込んだ画像ファイルの幅と高さを取得し、画像サイズと同じ大きさのBitmapDataクラスを作成し、そこに読み込んだ画像を描画します。次に、画像のピクセルをstepで指定したピクセルごとにスキャンし、カラー情報を取得しそのカラーで幅と高さがstepピクセルの正方形をBitmapDataに描画します。
この処理を画像の幅と高さ繰り返します。実行結果としてモザイクがかかったような効果が得られます。
var url:String = "http://www.ipentec.com/products-banner/lcx.png";
var urlReq:URLRequest=new URLRequest(url);
var ld:Loader = new Loader();
ld.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
ld.load(urlReq);
function onComplete(eventObj:Event):void{
trace("Complete");
var pw:int = ld.content.width;
var ph:int = ld.content.height;
trace(pw+","+ph);
var bmpd: BitmapData = new BitmapData(pw, ph, false, 0xFFFFFF);
bmpd.draw(ld);
var step:int = 5;
for (var i:int=0; i< pw; i=i+step){
for (var j:int=0; j<ph; j=j+step){
var px:uint = bmpd.getPixel(i,j);
var r:Rectangle = new Rectangle(i,j,step,step);
bmpd.fillRect(r, px);
}
}
var bmp: Bitmap = new Bitmap(bmpd);
addChild(bmp);
}
実行結果
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。