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