2011-06-15 96 views
1

我有Flex應用程序(而不是AIR),它們加載圖像並執行一些效果,應用程序在Flash Builder和調試文件夾中運行良好。但是,當我試圖將* .swf複製到另一個本地文件夾時,出現圖像加載問題。爲什麼不會Flex加載我的圖像

任何人都可以幫助我嗎?可能需要指定一些限制或規則?

UPDATE你不理解我,我試圖使用FileReference類加載桌面圖像,圖像顯示成功,但origBitmap saveAsBitmap()方法是空後

public function loadImage():void 
{ 
    fileRef.addEventListener(Event.SELECT, onFileSelected); 
    var textTypeFilter:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif,*.png)", "*.jpg; *.jpeg; *.gif; *.png"); 
    fileRef.browse([textTypeFilter]); 
} 

public function onFileSelected(evt:Event):void 
{ 

    fileRef.addEventListener(Event.COMPLETE, onComplete); 
    fileRef.load(); 

} 

public function onComplete(evt:Event):void 
{ 
byteArr = fileRef.data as ByteArray; 
ldr = new Loader(); 
ldr.loadBytes(byteArr); 
fileRef.removeEventListener(Event.SELECT, onFileSelected); 
fileRef.removeEventListener(Event.COMPLETE, onComplete); 
callLater(show); 
} 

public function show():void 
{  
currImg.source = ldr; 
callLater(saveAsBitmap); 

} 
public function saveAsBitmap():void 
{ 
bd = new BitmapData(currImg.contentWidth * currImg.scaleX, currImg.contentHeight * currImg.scaleY,true); 
bd.draw(currImg as IBitmapDrawable); 
origBitmap = new Bitmap(bd); 
} 

//..... 

<mx:Image id="currImg"/> 

//..... 
+3

顯示一些代碼。你的圖像是否嵌入?或者你是通過URL加載他們?是什麼讓你認爲這是一個安全沙箱問題? – JeffryHouser 2011-06-15 20:57:44

+0

我將您的標題更改爲更準確地反映您的實際問題。 – JeffryHouser 2011-06-15 20:58:18

回答

1

你是不是由於沙箱安全性錯誤而加載圖像。您需要將crossdomain.xml添加到存儲圖像文件的服務器。

我相信adobe最近放寬了他們對位圖的跨域限制。不過,我認爲你仍然無法操縱字節數組數據。

1

請張貼您的代碼。我的猜測是,當您移動swf時,您並未將圖像一起移動,或者更改代碼以反映新位置。但是,如果沒有看到您的代碼,我們無法知道。

相關問題