2013-06-30 190 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 - 我不知道確切的問題在哪裏)幫我一個忙,並自動旋轉圖像,當我從文件加載它時,它總是正確顯示。

現在我該如何知道何時旋轉圖像以及何時不旋轉圖像。

謝謝:)