是否可以将图像存储在Flash的SharedObject中?

是否可以将图像存储在Flash的SharedObject中?,flash,actionscript-3,shared-objects,Flash,Actionscript 3,Shared Objects,是否可以将图像存储在Flash中的SharedObject中?如果能奏效那就太好了。我需要在本地“存储”图像,但Flash似乎不支持它。。。所以我想把这些图片放在一个可以保存的共享对象中。。。但它对图像有效吗 我用位图试过了,但如果我想读取并将其添加到后台,它会说该对象无法转换为位图 var image:Bitmap = //some awesome image; sharedObject = SharedObject.getLocal("img"); sharedObject.data.im

是否可以将图像存储在Flash中的SharedObject中?如果能奏效那就太好了。我需要在本地“存储”图像,但Flash似乎不支持它。。。所以我想把这些图片放在一个可以保存的共享对象中。。。但它对图像有效吗

我用位图试过了,但如果我想读取并将其添加到后台,它会说该对象无法转换为位图

var image:Bitmap = //some awesome image;

sharedObject = SharedObject.getLocal("img");
sharedObject.data.img = image;
sharedObject.flush();
此处出错->

sharedObject = SharedObject.getLocal("img");
addChild(Bitmap(sharedObject.data.img));

在这种情况下,在设置共享对象之前,需要将位图写入ByteArray(换句话说,二进制数据)。然后,在检索它时,需要将它从字节数组读入位图。下面是一个快速示例,希望它能让您朝着正确的方向前进:


别忘了,共享对象的大小有限(默认为100Kb)

指向/来自SharedObject.data的图像-简单、免费且随时可用的类,包括完整的SharedObject事件和状态逻辑:

它还为用户创造了一种我称之为可怕的体验,令人困惑的Flash Player对话框弹出,要求获得增加本地存储的许可。它的限制不是100kb。它有一个默认的100kb的限制,可以通过前面提到的混乱的弹出窗口来增加。用JPG或PNG格式保存文件是不可能的吗?这些数据应该是看不见、想不起来的吗?如果您使用的是flash player 10,则flash.net.FileReference类可以帮助您。准备将bitmapData的ByteArray写入磁盘时,使用save()方法将允许您将副本保存到磁盘。如果您不需要将其编码为jpeg,这也毫无意义,因为您可以使用bitmapData.getPixels()创建ByteArray。。。虽然我没能让它100%工作,但理论上应该是可行的