我为比我更高级的人准备了另一件作品;)
我正在开发一个简单的 Flash 应用程序来创建您自己的徽章。完成创建后,最好将其作为图像保存到客户的计算机或数据库中,我还不确定。问题是从 swf 内容制作图像 - 我的意思不是全部内容,只是其中的一部分,即 COA 所在的位置。我在网上找到了一些使用图像编码器和 PHP 的示例,但我不明白它是如何工作的。有人能这么好心地向我解释一下这个的基本原理吗?我想让它尽可能简单。
我为比我更高级的人准备了另一件作品;)
我正在开发一个简单的 Flash 应用程序来创建您自己的徽章。完成创建后,最好将其作为图像保存到客户的计算机或数据库中,我还不确定。问题是从 swf 内容制作图像 - 我的意思不是全部内容,只是其中的一部分,即 COA 所在的位置。我在网上找到了一些使用图像编码器和 PHP 的示例,但我不明白它是如何工作的。有人能这么好心地向我解释一下这个的基本原理吗?我想让它尽可能简单。
首先,将图像(Sprite 或 MovieClip 等)绘制到 BitmapData 中:
var b: BitmapData = new BitmapData(640, 480, false, 0xffffffff);
b.draw(mcToBeSaved);
然后,使用例如as3corelib将 BitmapData 编码为 PNG 或 JPG 文件。
var ba: ByteArray = PNGEncoder.encode(b);
然后,对于 Flash 10,您可以使用 FileReference 的 save 方法立即让用户将图像保存到文件中。
这似乎是最近的一个热门问题。所以我没有完全重申所有这些信息,保存图像数据的说明,一旦你获得了 BitmapData,就在这里:
如何将 ByteArray(来自 Flash)和一些表单数据发送到 php?
但是,首先,要获取图像数据,您需要将其从任何 MovieClip/Sprite 中拉出,无论您拥有什么。为此,您只需执行以下操作:
var myBitmapData:BitmapData = new BitmapData(desiredWidth, desiredHeight, isTransparent, backgroundColor); myBitmapData.draw(mcToBeSavedToImage);
其中 mcToBeSavedToImage 是您要转换为图像的影片剪辑。BitmapData 参考在这里,如果您需要它 - 它还有其他示例: http: //livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/BitmapData.html
希望有帮助!