1

我正在使用 Adob​​e Air 开发 iOS8 iPhone 应用程序,我想image orientation从 CameraRoll 加载的图像中读取 EXIF 数据。

我正在使用这个 AS3 EXIF 库:https ://github.com/bashi/exif-as3 提供的示例适用于通过 URLRequest 加载的图像,但不适用于 CameraRoll 加载的图像。(EXIF = 的跟踪null

这是我的代码:

import jp.shichiseki.exif.*;

var loaderCameraRoll:ExifLoader 
var deviceCameraRoll:CameraRoll

function loadImageFromCameraRoll(e:Event=null):void {
deviceCameraRoll = new CameraRoll();
deviceCameraRoll.addEventListener(MediaEvent.SELECT, onSelectCameraRoll);
deviceCameraRoll.browseForImage();
}

function removeBrowseListeners():void {
deviceCameraRoll.removeEventListener(MediaEvent.SELECT, onSelectCameraRoll);
}

function onSelectCameraRoll(event:MediaEvent):void {
var promise:MediaPromise = event.data as MediaPromise;
loaderCameraRoll = new ExifLoader() 
loaderCameraRoll.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadedCameraRoll);
loaderCameraRoll.loadFilePromise(promise);      
}

function onLoadedCameraRoll(event:Event):void {
trace(loaderCameraRoll.exif.ifds.primary)
}

如何从 CameraRoll 加载的图像中获取 EXIF方向值?

4

2 回答 2

1

尝试使用 Native Extenson,这是一个不错的选择:

https://github.com/digicrafts/ANE-ImagePicker

if (AirImagePicker.getInstance().isCameraAvailable())
{
    AirImagePicker.getInstance().displayCamera(function(status:String, ...mediaArgs):void {
        // Do something with the Media information returned
    });
}

// Pick an image from the gallery
if (AirImagePicker.getInstance().isImagePickerAvailable())
{
    AirImagePicker.getInstance().displayImagePicker(function(status:String, ...mediaArgs):void {
        // Do something with the Media information returned
    });
}
于 2014-12-17T17:12:31.447 回答
0

Jay,我发现一篇文章完美地解决了你的问题,它适用于 iOS 和 Android。

http://blogs.adobe.com/cantrell/archives/2011/10/parsing-exif-data-from-images-on-mobile-devices.html

同时,我想问你一个关于在 iOS 设备上从 Air 上传文件的问题。您是否尝试将图像文件上传到某个地方?如果你这样做了,你使用的是哪个版本的 iOS 和哪个版本的 Air SDK?你在 xxx-app.xml 文件中做了一些配置吗?

我尝试了解决方案

www.adobe.com/devnet/air/articles/uploading-images-media-promise.html
,但File.upload(URLRequest)在 iOS8 上不起作用。File.upload甚至没有向服务器端发送任何请求。似乎 Air SDK for iOS 只是由于某种原因未能发送 http 请求

您可以转到以下链接以查看我的问题。

ActionScript 的 File.upload 不适用于 iOS 设备的 Air SDK

我的示例代码已上传到 github。

github.com/bluewindjava8/actionscript_file_upload_for_ios

如果你有时间,请你帮我检查一下。如果可以的话,请你把你的代码发给我好吗?非常感谢。

于 2015-03-12T07:08:53.777 回答