3

我有一个将显示对象在本地保存为图像文件的代码,但在某些时候它开始抛出错误 2174。此代码是从上下文菜单单击事件或键盘事件中调用的。

var sourceBmd:BitmapData = new BitmapData(displayObject.width,displayObject.height);            
sourceBmd.draw(displayObject,new Matrix(displayObject.width,0,0,displayObject.height));
var jpgEncoder:JPGEncoder = new JPGEncoder(80);
var byteArray:ByteArray = jpgEncoder.encode(sourceBmd);
try
{
    filereference.save(byteArray,"posterImage.jpg");    
}
catch (e:Error)
{
    Debugging.alert("error: ",e.message);           
}

如您所见,文件引用只有一个操作 - 因此没有理由抛出错误 2174。如果您想知道 - 我正在为 flash player 10.0 发布

更新:我发现它与 Flash 播放器版本有关:在 10.3 上它可以工作,而在 11.1 上如果失败。

有任何想法吗?干杯,埃雷兹

4

3 回答 3

0

通过阅读文档,我可以假设:

  1. 你在 Flash Player 10 中运行
  2. filereference.cancel()在用户单击打开的对话框上的“取消”或“关闭”等情况下,您不会调用;试试看
于 2012-04-02T13:38:10.600 回答
0

这个链接能解决你的问题吗?

另外,您是否尝试在错误发生后重新启动 Flash IDE?

于 2012-04-02T13:31:47.967 回答