在AS3中使用加载程序加载高分辨率图像的问题

时间:2013-07-25 18:41:41

标签: actionscript-3 loader high-resolution

我正在使用代码来缩放和平移此页面http://www.flashandmath.com/howtos/zoom/。它工作正常,但当试图加载3201X 2451像素的图像时,它不起作用。

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,initPic);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,updateInfo);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,imagenError);
loader.load(new URLRequest("simbologia.png"));

function updateInfo(e:ProgressEvent):void { 
  infoBox.text="Loading: "+String(Math.floor(e.bytesLoaded/1024))+" KB of "+String(Math.floor(e.bytesTotal/1024))+" KB.";
  trace(e);
}

输出结果为:

[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=0 bytesTotal=486441]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=65536 bytesTotal=486441]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=131072 bytesTotal=486441]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=196608 bytesTotal=486441]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=262144 bytesTotal=486441]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=327680 bytesTotal=486441]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=393216 bytesTotal=486441]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=458752 bytesTotal=486441]
[ProgressEvent type="progress" bubbles=false cancelable=false eventPhase=2 bytesLoaded=486441 bytesTotal=486441]

loader.contentLoaderInfo.addEventListener(Event.COMPLETE,initPic);永远不会被召唤或执行,我认为该计划是冻结的。任何的想法?提前谢谢。

1 个答案:

答案 0 :(得分:0)

问题可能是代表你的形象的BitmapData的尺寸,尽管这取决于几个变量;主要是您正在使用的Flash Player版本。

来自documentation about BitmapData

  

在AIR 1.5和Flash Player 10中,BitmapData对象的最大大小为宽度或高度为8,191像素,总像素数不能超过16,777,215像素。 (因此,如果BitmapData对象的宽度为8,191像素,则其高度仅为2,048像素。)在Flash Player 9及更早版本以及AIR 1.1及更早版本中,限制为高度为2,880像素,宽度为2,880像素。强>

     

从AIR 3和Flash Player 11开始,已删除BitmapData对象的大小限制。现在,位图的最大大小取决于操作系统。