- 設備 - Nexus One的
- 操作系統 - Android 2.3.4
- 類 - CameraRoll
- 方法 - addBitmapData()
- 錯誤 - [ ErrorEvent type =「error」bubbles = false cancelable = false eventPhase = 2 text =「錯誤#2038:文件I/O錯誤。」 ErrorID中= 2038]
我試圖建立一個照片應用程序,但我有保存圖像的全尺寸版本回到CameraRoll問題。這是非常令人沮喪的,因爲我只看到了保存舞臺到CameraRoll(我可以開始工作)的例子。如何全分辨率圖像保存回CameraRoll(安卓)
是否有限制保存回CameraRoll?當我嘗試加載圖像(2592 x 1944)並使用addBitmapData()直接將其保存回CameraRoll時,出現以下錯誤。
[ErrorEvent type =「error」bubbles = false cancelable = false eventPhase = 2 text =「錯誤#2038:文件I/O錯誤。」 errorID = 2038]
這是一個代碼示例。
// class vars for CameraRoll and Loader
private var _cameraRoll:CameraRoll = new CameraRoll();
private var _loader:Loader = new Loader();
// launch _cameraRoll
private function launchCameraRoll(e:MouseEvent):void {
_cameraRoll.addEventListener(MediaEvent.SELECT, loadImg);
_cameraRoll.browseForImage();
}
// open selected image using _loader
private function loadImg(e:MediaEvent):void {
if (e.data.isAsync) {
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, saveImage);
_loader.loadFilePromise(e.data);
} else {
_loader.loadFilePromise(e.data);
saveImage();
}
}
// once loaded, save image immediately back to _cameraRoll
private function saveImage(e:Event = null):void {
_cameraRoll.addEventListener(ErrorEvent.ERROR, onError);
_cameraRoll.addEventListener(Event.COMPLETE, onComplete);
var bmd:BitmapData = new BitmapData(_loader.width, _loader.height);
bmd.draw(_loader);
_cameraRoll.addBitmapData(bmd);
}
// trace error
private function onError(e:ErrorEvent):void {
trace(e); // [ErrorEvent type="error" bubbles=false cancelable=false eventPhase=2 text="Error #2038: File I/O Error." errorID=2038]
}
// show complete status
private function onComplete(e:Event):void {
trace("complete");
}