为Adobe Air创建自定义文件格式

Gro*_*ady 1 air flash actionscript-3

我刚刚开始我的第一个Adobe Air项目(我是一个纯粹的AS3开发人员).我打算构建一个支持图层的图像编辑器.我想知道将整个项目(包括图层数据)存储到用户硬盘的最佳方法是什么.

我想知道为我的应用程序创建自定义文件格式是否有任何优缺点.我的想法是,我将能够将整个项目存储在一个文件中.这将通过将元数据写入文件的标题来完成,例如图像尺寸,图层名称,图层数据偏移等...

我正在努力注意可能出现的问题,例如在添加新项目功能/元数据后保持向后兼容性等.

我想我在问人们是否有为Adobe Air创建自定义文件格式的任何建议或经验,以及是否有任何其他"开箱即用"的解决方案将"复杂"数据保存到用户硬盘.

谢谢.

Geo*_*nza 5

可能你可以做一个自定义二进制格式并将ByteArray写入磁盘.这应该是快速和紧凑的.我从来没有写过自定义二进制格式,但我相信这里有人可以指导你完成最佳实践.您可以使用writeUTFwriteUTFBytes将图层排列的字符串描述保存到ByteArray,并且可以使用BitmapData的getPixels(),因为它返回ByteArray.

想到一个'解决方法'的想法是创建一个存档as3 zip包的存档,它将包含您的图层作为PNG/JPEG(可能使用图像as3corelib编码器)和一个描述您的文件的xml文件(哪些图层应该去哪里,用什么混合/透明/等.).这可能有点长.

HTH,乔治