默认情况下,如果远程服务器未添加策略文件,则无法访问或平滑来自远程域的映像。我记得在另一个项目中我们能够在这些情况下实现平滑。我们必须将远程域设置或添加到受信任域阵列。我不再有这个代码,我不记得我们是怎么做到的。有人知道我在说什么以及如何启用它吗?
更多背景
将此代码添加到Flex应用程序:
<s:Image id="myImage" source="https://www.google.com/images/srpr/logo3w.png" smooth="true" height="200" width="400" />
并在浏览器中运行它。如果从file://运行它,它应该显示平滑的图像。
这是因为Flash Builder在开发过程中为其提供了特殊权限。如果将它放在服务器上,例如http://localhost:8888/Project-debug/Project.html
,您将看到它没有被平滑并且错误显示在控制台中:
Error: Request for resource at https://www.google.com/images/srpr/logo3w.png by requestor from http://localhost:8888/Project-debug/Project.swf/[[DYNAMIC]]/3 is denied due to lack of policy file permissions.
*** Security Sandbox Violation ***
Connection to https://www.google.com/images/srpr/logo3w.png halted - not permitted from http://localhost:8888/Project-debug/Project.swf
Error: Request for resource at https://www.google.com/images/srpr/logo3w.png by requestor from http://localhost:8888/Project-debug/Project.swf/[[DYNAMIC]]/3 is denied due to lack of policy file permissions.
答案 0 :(得分:0)
如果您将图片加载为
,它应该可以工作[Bindable]
var bmp : Bitmap = Bitmap( imgLoader.content );
然后申请
bmp.smooth = true;
,然后使用bmp作为图像的绑定源。