【问题标题】:Actionscript 3.0 Creating bitmapData from Loaded URLActionscript 3.0 从加载的 URL 创建 bitmapData
【发布时间】:2012-05-19 16:46:51
【问题描述】:

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

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;
}

【问题讨论】:

  • 您从哪里加载位图?路径是什么,是相对的还是绝对的,是否与您的 swf 在同一个域中?
  • 确保您在在线检查时使用的是 Flash 调试播放器,在我看来,您可能遇到了安全违规但没有看到错误,请确认您正在运行 Flash播放器调试版本在这里(靠近页面底部):helpx.adobe.com/flash-player/kb/find-version-flash-player.html 请注意,chrome 通常在内部维护它的 flash 播放器,需要特殊步骤来替换它。

标签: image actionscript-3 bitmapdata image-loading


【解决方案1】:

如果您正在加载图像并且想要访问它的数据(执行draw() 调用),那么您需要使用LoaderContext 对象加载它,并将checkPolicyFile bool 设置为true .它在本地运行的原因是一切都在本地隐式信任,因此您不会真正遇到安全问题

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

【讨论】:

    猜你喜欢
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多