2

當我嘗試從相機膠捲加載照片時。我得到以下信息:羽毛/椋鳥/ AS3 /空氣 - 紋理太大(最大爲2048x2048) - 相機膠捲

Error #3683: Texture too big (max is 2048x2048). 

下面的代碼是我使用的是什麼羽毛/德裕:

var Image_Loader:ImageLoader = new ImageLoader(); 
Image_Loader.source = url; 
addChild(Image_Loader); 

我一直在讀,我需要將照片轉換成位圖,然後調整它的大小。這是我需要幫助。我不知道任何有關位圖或位圖數據的信息,以使其工作。任何人都可以指出我正確的方向或建議一些很好的教程/鏈接。

回答

2

我發現張貼並找出我想要完成的事情。在我正在處理的當前尺寸屏幕上加載一個很大的圖像/照片,並將其縮小以避免出現錯誤。而不是使用ImageLoader。只需將紋理直接添加到舞臺上,但首先調整它的大小。

 var URLReq:URLRequest = new URLRequest("Image URL"); 
     var imageLoader:Loader = new Loader(); 

     imageLoader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, loadBit); 

     imageLoader.load(URLReq); 
     var myBitmap:Bitmap = new Bitmap(); 

     function loadBit(event:flash.events.Event):void 
     { 
      myBitmap = Bitmap(imageLoader.content); 

      var texture:Texture = Texture.fromBitmap(myBitmap); 
      var image:Image = new Image(texture); 
      image.width = image.height = 300; 
      addChild(image);} 
0

你的問題似乎是你嘗試加載的位圖的大小太大了。

當flash加載文件時,它將bitmapDataObject內寫入的內容限制爲任意形狀的2048x2048像素。這意味着總共有4194304個像素。您的x/y尺寸並不重要。您必須確保您的圖像小於導入前的圖像(使用Windows資源管理器查看您的圖像文件或在OSX上預覽,它會告訴您像素尺寸)將兩個數字相乘,看看您是否得到高於或低於4194304的數字。如果是上述情況,並且可能來自您的錯誤,則必須使用預覽,photoshop,繪畫等工具手動編輯尺寸,使其具有等於或小於4194304的值。

+0

如果你想看到如何做到巨大的紋理貼圖:http://mrl.cs.vsb.cz/people/gaura/agu/05-JP_id_Tech_5_Challenges.pdf。讓我想知道在stage3d下這是否可能。它已經可以在webGL中完成了。 – Levantulee