Flex 3.4 - imageSnapshot问题,链接图像〜

时间:2009-10-08 11:42:35

标签: flex image save

在早些时候得到一些可爱的帮助后,我几乎完成了我正在进行的项目。我以为我已经完成了但是我已经离开并遇到了最后一期。我的程序截取了我的文件的最终输出,我的文件的最终输出有一些链接的图像来自它内部的URL。现在,当图像被排除时,它保存得很好,但是当我从网址加载图像时,它似乎不允许我的imageSnapShot工作。

private function takeSnapshot(even:Event=null):void {

    var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(previewMode);
    var MyFile:FileReference = new FileReference();

    MyFile.save(imageSnap.data, 'profile.png');


 }

其中“previewMode”是组件我采用了(视图堆栈)的screendump,里面有一些来自网站的链接图像。

通过一些测试似乎停止了 -

var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(previewMode);

所以它实际上并没有得到输出的图像。任何帮助都会得到很大的帮助,到目前为止你们都很精彩。

1 个答案:

答案 0 :(得分:1)

ImageSnapshot.captureImage可能正在使用BitmapData.draw()方法拍摄快照。此方法的livedocs页面显示:

  

源对象和(在Sprite或MovieClip对象的情况下)其所有子对象必须来自与调用者相同的域,或者必须位于调用者可以访问的SWF文件中Security.allowDomain()方法。如果不满足这些条件,draw()方法不会绘制任何内容。

您的文件中有一些来自内的网址的链接图片。显然这是不允许的。查看Security.allowDomain以了解可能的解决方法。如果您有外部图片these rules也适用。

  

如果从用于加载图像的Loader对象的域以外的域加载Bitmap对象,并且没有允许访问Loader对象的域的跨域策略文件,那么该脚本中的域无法访问Bitmap对象或其属性和方法。