別サーバの画像の扱いテスト
forked from テキスト表示用 (diff: 44)
ActionScript3 source code
/**
* Copyright yprops ( http://wonderfl.net/user/yprops )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/An45
*/
// forked from yprops's テキスト表示用
package
{
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.net.*;
import flash.text.*;
import flash.system.*;
public class DebugText extends Sprite
{
//------------main-----------------------
private var imgurl :String = "http://yprops.com/images/icon_postboyalpha.jpg";
private var ld :Loader;
private var req :URLRequest;
private var info :LoaderInfo;
private var lc :LoaderContext;
public function main() :void{
addDebLine("別サーバの画像取得について");
addDebLine("ポリシーファイルにアクセスできない時の扱いの基本");
addDebLine("addChild(loader.content) するとエラー。addChild(loader) とする");
addDebLine("BitmapData.draw(loader) でエラー。");
addDebLine("加工できないお客さんとして扱う。");
ld = new Loader();
req = new URLRequest(imgurl);
info = ld.contentLoaderInfo;
info.addEventListener(Event.COMPLETE, onLoad);
//LoaderContext は、取得先のポリシーファイルを読めるなら関係ある?読めないなら関係ない
//lc = new LoaderContext(true);
ld.load(req);
}
private function onLoad(ev:Event) :void{
ld.x = Math.random() * 100 + 100;
ld.y = Math.random() * 100 + 100;
//addCihld(ld.content) や addChild(info.content) とやるとエラー。
addChild(ld);
var bd :BitmapData = new BitmapData(200, 100, false, 0x660000);
var bmp :Bitmap = new Bitmap(bd);
bmp.x = 150;
bmp.y = 300;
addChild(bmp);
//BitmapDataに描こうとするとエラー。
//bd.draw(ld);
//親をBitmapDataに描こうとしてもエラー。
//bd.draw(this, new Matrix(1,0,0,1,ld.x,ld.y));
}
//------------general---------------------
public function DebugText(){
if(stage)init();
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(ev:Event = null) :void{
removeEventListener(Event.ADDED_TO_STAGE, init);
addDeb(450, 450);
main();
}
private var deb :TextField;
private function addDeb(w:uint, h:uint) :void{
deb = new TextField();
deb.wordWrap = true;
deb.width = w;
deb.height = h;
deb.border = true;
deb.borderColor = 0;
deb.background = true;
deb.backgroundColor = 0x99ffffff;
deb.text = "beginDebugText-------\n\n";
addChild(deb);
}
private function addDebLine(...args) :void{
deb.appendText(args.join(" ") + "\n");
deb.scrollV = deb.maxScrollV;
}
}
}
