画像の描画サンプル
画像の描画サンプル
Related images
ActionScript3 source code
/**
* Copyright nishink ( http://wonderfl.net/user/nishink )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/mIDr
*/
// 画像の描画サンプル
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLRequest;
import flash.system.LoaderContext;
import flash.text.TextField;
public class FlashTest extends Sprite {
// 画像のURL
private const IMAGE_URL:String = "http://assets.wonderfl.net/images/related_images/6/6c/6cce/6cce341221117c18cd5aa7f09731f6f9cd883f86";
// 実行結果出力領域
private var console:TextField = new TextField();
// コンストラクタ
public function FlashTest() {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
// 画像の読み込み
// new LoaderContext(true);は、読み込んだ画像を描画(BitmapData.draw)するのに必要
// これを指定しないとSecurityError #2122になる
loader.load(new URLRequest(IMAGE_URL), new LoaderContext(true));
// 読み込んだ画像を表示
addChild(loader);
// 状態の表示
console.textColor = 0x00FF00;
console.width = 465;
//addChild(status);
}
// 読み込み完了
private function complete(event:Event):void {
var loaderInfo:LoaderInfo = event.target as LoaderInfo;
// イベントリスナーの破棄
loaderInfo.removeEventListener(Event.COMPLETE, complete);
try {
// BitmapData.cloneによる画像の複製
var image : Bitmap = event.target.loader.content as Bitmap;
var cloneImage : Bitmap = new Bitmap(image.bitmapData.clone());
cloneImage.x = 32;
addChild(cloneImage);
// 画像のサイズを表示
var loader:Loader = loaderInfo.loader;
console.appendText("\n " + loader.width + "," + loader.height);
addChild(console);
// Bitmapに画像を描画
var bd:BitmapData = new BitmapData(loader.width, loader.height, true, 0);
bd.draw(loader);
var bmp:Bitmap = new Bitmap(bd);
bmp.x = 16;
addChild(bmp);
} catch (e:Error) { // 例外処理
console.appendText("\n " + e);
addChild(console);
}
}
}
}