我需要在 AS3 上加载一个非常大的图像(当前大小为 8192x8192)。我知道它不符合 Flash 对屏幕绘图或创建该大小的 BitmapData 施加的任何限制。我只想加载图像,这样我就可以在这里和那里复制像素()它的某些部分。
问题是,我正在毫无问题地加载该大小的 .jpg 文件。从我的 Loader 对象中可以正确识别大小。我像这样加载它:
mImageLoader = new Loader();
var anImageURLRequest:URLRequest = new URLRequest("8192x8192.jpg");
mImageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
mImageLoader.load(anImageURLRequest);
然后,在 onComplete 方法上,我尝试这样做:
Bitmap(mImageLoader.content).bitmapData.getPixel(1000, 1000);
但是我收到了通常为太大的 BitmapDatas 保留的 #2015“Invalid BitmapData”错误。如果我尝试执行 copyPixels(),也会发生错误,这是我需要做的。
我可以使用任何解决方法,以便我可以从 AS3 上这么大的图像中获取数据吗?