【问题标题】:AS3 - Convert String to BitmapAS3 - 将字符串转换为位图
【发布时间】:2014-02-16 23:58:37
【问题描述】:

我正在尝试将图像存储在服务器上以减轻 SWF 文件的负载。我花了一整天的时间试图从服务器获取数据,但我得到的只是一个看似随机的字符串(我理解的是我的图像的字符串值)。我已经尝试阅读此内容,但我没有找到任何真正有效的东西,我得到了很多对 Base 64 编码/解码的引用,并且我尝试了几个库,但它们什么也没做。这是我所拥有的(我已经简化了一点上传):

public function loadImage() : void {
    var url:String='example.com/some_image';
    var load:URLLoader=new URLLoader(new URLRequest(url));
    load.addEventListener(Event.COMPLETE, onLoadComplete);
}

public function onLoadComplete(event : Event) : void {
    var imgString:String=event.target.data;
}

但是如何将 imgString 转换为 Bitmap 或 Sprite 以便我可以 addChild() 呢?我试过imgString as Bitmap,它返回null。也许它与 BitmapData 类有关? This post 看起来很相似,但没有得到答复。

【问题讨论】:

    标签: actionscript-3 flash bitmap


    【解决方案1】:

    如果你有一个运行PHP的服务器,你可以先生成图像,例如

    // PHP script 'http://yoursite.com/image.php
    header("Content-type: image/jpeg");
    echo $myImageDataFromDB; // Get the image data from MySQL.
    

    然后在 ActionScript 中,使用标准流程将其加载为图像:

    var request:URLRequest = new URLRequest("http://yoursite.com/image.php");
    var loader:Loader = new Loader();
    
    loader.load(request);
    addChild(loader);
    

    【讨论】:

    • 我也尝试过使用该方法,但它给了我一个奇怪的错误:异常错误:TypeError:错误#1009:无法访问空对象引用的属性或方法。在 com.blah.moreblah.moreblah::SomeCompletelyUnrelatedClass()[...SomeCompletelyUnrelatedClass.as:37] 如果我不放一个新的 Loader(); 它不会给我错误。但它不会加载图像。不过,您的方法应该可以工作,所以我将其标记为已接受。
    • 您的脚本在一个新项目上运行良好,所以我的代码在其他地方一定有问题。
    • 我终于让它工作了,但这是完全不相关的东西导致了这个问题。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 2023-03-29
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多