使用操作脚本3在本地保存图像

时间:2013-02-19 12:10:23

标签: actionscript-3 air

我使用AIR上的bulkloader库来下载图像,然后使用AS3corelib我尝试使用以下方式在本地保存文件:

var byteArray:ByteArray = jpgEncoder.encode( loader.getContent("IMG_0004.JPG") );
stream.writeBytes(byteArray);
stream.close();

但我得到了这个错误:

  

TypeError:错误#1034:类型强制失败:无法转换   flash.display :: Bitmap @ 8349a81 to flash.utils.ByteArray。

我不知道如何解决这个问题。

2 个答案:

答案 0 :(得分:3)

encode函数想要一个BitmapData对象,但您要给它一个Bitmap

所以你应该能够做到这一点:

var byteArray:ByteArray = jpgEncoder.encode( Bitmap(loader.getContent("IMG_0004.JPG")).bitmapData );

答案 1 :(得分:1)

DomingoSL,所以您的原始概率已经解决,现在您的问题是jpeg编码。是的,标准库中的jpeg编码器非常慢。它是您可以使用的最慢的编码器。 阅读:http://www.bytearray.org/?p=775。提示:阅读所有评论,您将得到无声保存的答案。