在早些时候得到一些可爱的帮助后,我几乎完成了我正在进行的项目。我以为我已经完成了但是我已经离开并遇到了最后一期。我的程序截取了我的文件的最终输出,我的文件的最终输出有一些链接的图像来自它内部的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);
所以它实际上并没有得到输出的图像。任何帮助都会得到很大的帮助,到目前为止你们都很精彩。
答案 0 :(得分:1)
ImageSnapshot.captureImage
可能正在使用BitmapData.draw()
方法拍摄快照。此方法的livedocs页面显示:
源对象和(在Sprite或MovieClip对象的情况下)其所有子对象必须来自与调用者相同的域,或者必须位于调用者可以访问的SWF文件中Security.allowDomain()方法。如果不满足这些条件,draw()方法不会绘制任何内容。
您的文件中有一些来自内的网址的链接图片。显然这是不允许的。查看Security.allowDomain以了解可能的解决方法。如果您有外部图片these rules也适用。
如果从用于加载图像的Loader对象的域以外的域加载Bitmap对象,并且没有允许访问Loader对象的域的跨域策略文件,那么该脚本中的域无法访问Bitmap对象或其属性和方法。