1

我正在使用 html,标签:

<input type = "file" />

在安卓和许多手机上,我可以通过拍照直接获取文件并保存。

我怎么知道(通过 javascript 代码)我是如何获得照片的(直接通过相机,或通过手机上的某些文件)?

我做了一些工作,找到了 exif ( http://www.nihilogic.dk/labs/exif/exif.js ),但我没有成功使用它来动态加载图像,因为网站:http://exif -viewer.com/ 需要一些源代码示例,以了解 exif 如何处理动态加载的图像。

谢谢 :)

4

1 回答 1

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 - 我不知道问题出在哪里)帮我一个忙,当我从文件加载图像时,它会自动旋转图像,因此它始终正确显示。

现在我怎么知道什么时候旋转图像,什么时候不旋转它。

谢谢 :)

于 2013-07-15T20:49:30.270 回答