forked from: Event.COMPLETE使えば、アップロードした画像はBitmap化でき...できない?
forked from Event.COMPLETE使えば、アップロードした画像はBitmap化でき...できない? (diff: 62)
naoto5959さんの解説でcrossdomain勉強できました crossdomainってロード可能/不可能ってことじゃなかったんすね。。 http://wonderfl.net/code/c0f6239b461627bce45e71a84a3d21731de1db43
ActionScript3 source code
/**
* Copyright iong ( http://wonderfl.net/user/iong )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/qLEh
*/
// forked from coppieee's Event.COMPLETE使えば、アップロードした画像はBitmap化でき...できない?
// forked from Nicolas's アップロードした画像はBitmap化できない?
// forked from Nicolas's Wonderflで使いたい画像を簡単にアップロード
// naoto5959さんの解説でcrossdomain勉強できました
// crossdomainってロード可能/不可能ってことじゃなかったんすね。。
// http://wonderfl.net/code/c0f6239b461627bce45e71a84a3d21731de1db43
package {
import flash.display.Sprite;
import flash.display.Loader;
import flash.events.ProgressEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;
import flash.system.LoaderContext;
[SWF(width="465", height="465", backgroundColor="0xffffff")];
public class FlashTest extends Sprite {
public var bmp:Bitmap;
public var bmd:BitmapData;
public var loader:Loader;
public function FlashTest() {
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, act);
if(stage) init();
//addChild(loader); // ok
}
private function init():void
{
var url:String = "http://wonderfl.net/static/tmp/related_images/7631be20fea2b992f1193ca6319abfc716fe388am";
var urlReq:URLRequest = new URLRequest(url);
// loader.load(urlReq);
//addChild(loader); // ok
loader.load(urlReq, new LoaderContext(true));
}
private function act(e:Event):void
{
// test1
var tmp:Loader= e.currentTarget.loader;
// addChild(tmp); // ok
// addChild(loader); // ok
// test2
bmd = new BitmapData(100, 100, true, 0x000000);
bmd.draw(tmp);
bmp = new Bitmap(bmd);
bmp.x = 100;
// addChild(bmp); // ng (localではok)
// test3
var mc:Sprite = new Sprite();
with(mc.graphics){
beginFill(0x000000,1);
moveTo(0,0);
lineTo(100,0);
lineTo(100,100);
lineTo(0,100);
}
mc.addChild(bmp);
addChild(mc); // ng (bmd.drawをescapeすると0x0のrectは出る)
}
}
}
