0

我想加载一个图像,然后使用它的 bitmapData。当我从 Flash 运行程序时,该程序可以工作,但当我在线上传时,程序就不行了。似乎有一堆奇怪的问题。addChild(myLoader)在线工作但addChild(loadedPic)没有,并且 myLoader 似乎没有我可以访问的 bitmapData 。 出于某种原因,urlInput.text = "Done."它将在线工作,但不是urlInput.text = ...我添加的以查看发生了什么。当我在我的计算机上运行它时,我得到 urlInput 说“[object Bitmap] hi”就像它应该的那样,但在网上它只是说“正在加载......”

var myLoader:Loader = new Loader();

submitButton.addEventListener(MouseEvent.CLICK, buttonRelease);
function buttonRelease(event:MouseEvent){
    var fileRequest:URLRequest = new URLRequest(urlInput.text);
    urlInput.text = "Loading...";
    myLoader.load(fileRequest);
}

myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
function onComplete(e:Event){
    urlInput.text = "Done.";
    //addChild(myLoader);

    //var loadedBitmap = new BitmapData(myLoader.width, myLoader.height);
    //loadedBitmap.draw(myLoader);
    //var loadedPic = e.target.content;
    //loadedPic.width = 300;
    //loadedPic.height = 300;
    //addChild(loadedPic);
    urlInput.text = e.target.content.toString() + " hi";
    //usedPic = loadedPic;
}
4

1 回答 1

0

如果您正在加载图像并且想要访问它的数据(进行draw()调用),那么您需要使用bool 设置为 true的LoaderContext对象来加载它。checkPolicyFile它在本地工作的原因是所有内容都在本地被隐式信任,因此您不会真正遇到安全问题

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/LoaderContext.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6

于 2012-05-20T18:04:50.533 回答