如何使用ActionScript3 / PHP从swf导出图像?

时间:2009-04-28 20:54:13

标签: actionscript-3 image flash export

我还有一件比我更高级的人;)

我正在开发一个简单的flash应用程序来创建自己的徽章。完成创建后,将它作为图像保存到客户端的计算机或数据库会很好,我还不确定。问题是从swf内容制作图像 - 我的意思不是整个内容,只是COA所在的一部分。我使用一些图像编码器和PHP在网上找到了一些例子,但我不明白它是如何工作的。任何人都可以如此友好地向我解释这个的基本原则吗?我希望尽可能简单。

2 个答案:

答案 0 :(得分:5)

首先,将图像(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的保存方法立即让用户将图像保存到文件中。

答案 1 :(得分:1)

这似乎是最近流行的问题。所以我没有完全重申所有这些信息,保存图像数据的说明,一旦你获得了BitmapData,就在这里:

How can I send a ByteArray (from Flash) and some form data to 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

希望有所帮助!