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文件的集合,它们都有不同的维度 如何自动创建这些flash电影的屏幕截图 这将是非常方便的,因为否则我将不得不手动拍摄几百部flash电影的截图 TIA. 将收藏中的每个swf加载到flash movieclip中,并执行以下操作 如果mc是加载flash电影的movieclip: BitmapData myBitmapData=new BitmapData(mc.width,mc.height,false); myBitmapData.draw(mc); 一旦你

我有一个.swf文件的集合,它们都有不同的维度

如何自动创建这些flash电影的屏幕截图

这将是非常方便的,因为否则我将不得不手动拍摄几百部flash电影的截图

TIA.


将收藏中的每个swf加载到flash movieclip中,并执行以下操作

如果mc是加载flash电影的movieclip:

BitmapData myBitmapData=new BitmapData(mc.width,mc.height,false);       
myBitmapData.draw(mc);
一旦你有了位图数据,你可以做任何事情来获得图像。查看以了解如何处理此位图数据

此外,Adobe flash player 10现在允许直接保存位图文件

var bitmap : Bitmap = new Bitmap(myBitmapData);
var jpg:JPEGEncoder = new JPEGEncoder();
var ba:ByteArray = jpg.encode(bitmapData);
file.save(ba, 'ScreenShot'+ i + '.jpg'); // i is the incrementing variable in the loop
上面将把文件保存为ScreenShot1.jpg、ScreenShot2.jpg……等等


但每次我申请AIR时,它都会要求确认(目前flash播放器的限制)

。它只需要两个目录——带swf的源目录和截图的目标目录。使用
加载器加载每个剪辑
,使用BitmapData.draw拍摄屏幕截图,使用JPEG编码器编码(还有PNGEncoder)并保存到文件。没有确认,空气可以自动完成所有这些。只需学习
文件
类和编码器。

为什么要填充?BitmapData构造函数中的第四个参数允许设置背景颜色。意外使用了泛光填充。实际用于显示第一次清除位图数据的操作。放错地方了:)……谢谢你的指点。我也曾考虑过推荐AIR,但由于OP将其标记为flash。。。总之,很好。