【问题标题】:Is it possible to store images in the SharedObject of Flash?是否可以将图像存储在 Flash 的 SharedObject 中?
【发布时间】:2010-12-01 23:16:50
【问题描述】:

是否可以将图像存储在 Flash 中的 SharedObject 中?如果它可以工作,那就太好了。我需要在本地“存储”图像,但 Flash 似乎不支持它......所以我想将这些图像放在可以保存的 SharedObject 中......但它适用于图像吗?

我尝试使用位图,但如果我想阅读并将其添加到舞台上,它会说无法将对象转换为位图...

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

【问题讨论】:

  • 无法将文件保存为 JPG 或 PNG 格式?这些数据应该是看不见的吗?如果您使用的是 flash player 10,那么 flash.net.FileReference 类可以为您提供帮助。准备好将 bitmapData 的 ByteArray 写入磁盘时使用 save() 方法将允许您将副本保存到磁盘。

标签: flash actionscript-3 shared-objects


【解决方案1】:

Images to/from SharedObject.data - 简单、免费且易于使用的类,包括完整的 SharedObject 事件和状态逻辑: Images to/from SharedObject.data

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 它还为用户创造了我称之为可怕的体验,令人困惑的 Flash Player 对话框弹出,要求允许增加本地存储。
    • 它有 100kb 的限制是不正确的。它的默认限制为 100kb,可以通过上述令人困惑的弹出窗口增加。
    【解决方案3】:

    在这种情况下,您需要在设置共享对象之前将您的位图写入 ByteArray(即二进制数据)。然后,当您检索它时,您需要将它从 ByteArray 读取到位图中。这是一个快速示例,希望能帮助您朝着正确的方向前进:

    http://www.kirupa.com/forum/showthread.php?t=306972

    【讨论】:

    • 你实际上不必编码为 jpeg 以使其工作也毫无价值,因为你可以使用 BitmapData.getPixels() 创建一个 ByteArray ... 虽然我还不能要使其 100% 工作,理论上应该是可能的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多