Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash SWF到图像_Flash - Fatal编程技术网

Flash SWF到图像

Flash SWF到图像,flash,Flash,目前,我正在使用将swf中动态生成的图表转换为图像。但是当需要同时创建多个图像时,它会崩溃很多 是否有更好的解决方案可用于从SWF文件生成图像 > P>你可能想考虑一个非闪存图表生成器,如果你正在去除闪光灯,只需使用一个图像。它会更快/更高效/更可靠 如果flash确实被某人使用,则忽略此项。根据您是否能够修改SWF的来源,您可以打开(比如)按钮,从舞台内容创建BitmapData对象,然后将该数据编码为图像格式。然后使用AIR将其保存到桌面,或使用服务器端语言将其保存到服务器,这同样取决于您的

目前,我正在使用将swf中动态生成的图表转换为图像。但是当需要同时创建多个图像时,它会崩溃很多


是否有更好的解决方案可用于从SWF文件生成图像

> P>你可能想考虑一个非闪存图表生成器,如果你正在去除闪光灯,只需使用一个图像。它会更快/更高效/更可靠


如果flash确实被某人使用,则忽略此项。

根据您是否能够修改SWF的来源,您可以打开(比如)按钮,从舞台内容创建BitmapData对象,然后将该数据编码为图像格式。然后使用AIR将其保存到桌面,或使用服务器端语言将其保存到服务器,这同样取决于您的需求。如果这个方向听起来合理,我可以进一步阐述

对评论的答复: 是的,你是对的,你可以很容易地加载外部SWF

以下是您需要做的大致概述:

加载外部SWF非常简单,如下所示:

var loader:Loader = new Loader();

var urlRequest:URLRequest = new URLRequest("url-to-external.swf");

loader.load(urlRequest);
然后将外部SWF内容复制到BitmapData对象中(可能在某些事件中,如单击按钮):

但是,它可能需要一些额外的工作,具体取决于源SWF的外观。您可能特别需要考虑加载的SWF中内容的(x,y)坐标,因为它们可能会创建绘制到BitmapData对象的内容的偏移量


然后,您可以使用BitmapData对象创建一个图像文件,比如PNG,使用来自的PNGEncoder类。

这听起来很有趣,但我不能修改SWF。难道不可能将该swf加载到内存中,然后创建该swf的BitmapData对象吗?
var bitmapData:BitmapData = new BitmapData(loader.width, loader.height);
bitmapData.draw(loader);