2013-06-30 151 views
1

我使用HTML是否加载图像从相机直接拍摄,标签:检测使用智能手机

<input type = "file" /> 

Android和许多cellulars我必须直接通过拍照获取文件的能力并保存它。

我怎样才能知道(通过JavaScript代码)我是如何得到图片(直接由相机,或通过我的手机上的一些文件)?

我做了一些workarround,发现EXIF(http://www.nihilogic.dk/labs/exif/exif.js),但是使用它的动态加载图片,该网站都没有成功:http://exif-viewer.com/ 需要一些源代码示例,了解EXIF如何作用于动态加载图片。

谢谢:)

回答

1

我发现我自己的解决方案,所以我想参加吧:

我需要的是翻译二进制数据EXIF数据, 等exif.js,我添加以下内容。

jQuery.fn.getExif = function() { 
    var exif; 
    var bin; 
    var bf; 
    bin = atob(this.attr("src").split(',')[1]); 
    if (bin) { 
     bf = new BinaryFile(bin); 
    } 
    if (bf) { 
     exif = EXIF.readFromBinaryFile(bf); 
    } 
    if (exif) { 
     this.attr("exifdata", exif); 
    } 
    return exif; 
} 

和使用上的代码上面的 - 只要得到任何EXIF值我想要的。

的主要问题是,图像应根据EXIF 旋转(如,也就是说方向是顺时针旋转90度,所以我应该逆时针旋转90度,以固定取向) - 在大多数设备没问题, 但在IPAD等多个设备上仍存在问题。

IPAD(或Safari - 我不知道确切的问题在哪里)帮我一个忙,并自动旋转图像,当我从文件加载它时,它总是正确显示。

现在我该如何知道何时旋转图像以及何时不旋转图像。

谢谢:)