如何应用EXIF方向
How to apply EXIF orientation
我注意到并不是每个浏览器都应用EXIF方向。
我手机上的Chrome不应用EXIF方向,但Safari手机应用。
因此,由于它不是标准的,如何在 Safari 上不应用两次的情况下应用 EXIF 方向?
我也想知道是否可以在客户端应用方向,这样我就不必在服务器端这样做(不仅是 javascript 中的图像旋转)。
function handleFileSelect(evt) {
var previewContainer = evt.data.previewContrainer;
evt.stopPropagation();
evt.preventDefault();
var files;
if (evt.target.files) {
files = evt.target.files // FileList object
}
else if (evt.originalEvent.dataTransfer.files) {
files = evt.originalEvent.dataTransfer.files
}
//if there's a file
if (files) {
// Loop through the FileList and render image files as thumbnails.
for (var i = 0, f; f = files[i]; i++) {
var orientation = 0;
// Only process image files.
if (!f.type.match('image.*')) {
continue;
}
//EXIF.getData(f, function () {
// orientation = EXIF.getTag(this, "Orientation");
// alert(orientation);
// alert(EXIF.pretty(this));
//});
createReader(f, previewContainer);
}
}
}
为了确保无论浏览器和 exif 方向如何,图像都能正确显示,您需要有 javascript 来执行旋转并将图像放在画布上。这可以保护它免受本机支持旋转的"双重旋转",例如 safari。
我使用github的JavaScript-Load-Image项目解决了这个问题,这使得它变得非常简单;在这里看到我的答案:JS客户端Exif方向:旋转和镜像JPEG图像
相关文章:
- ng映射方向备选方案
- 当图像转换为本地存储的DataURL时,EXIF被删除
- RubyonRails——构建交互式接口应该朝哪个方向发展
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 在D3.js中,有没有任何方法可以将x和y方向上的滚动事件绑定到平移svg
- 我怎样才能知道用户滑动的方向
- 使用谷歌地图API和phonegap显示当前位置+方向
- 用真或假初始化变量是否在 Javascript 中建立了内容的方向
- 带有自定义标记的谷歌地图方向APIv3
- 在角度方向的元素之前插入
- 更改D3方向力图中箭头标记的方向
- fullpage.js在滚动时更改滚动方向
- 基于谷歌地图API方向服务构建的替代路线
- 如何将字符串地址传递到传单路由机,以根据字符串地址获得方向
- 如何应用EXIF方向
- 在javascript中检测图像的EXIF方向
- 如何在使用角度文件上传之前修复EXIF方向
- iOS 中的 Exif 方向问题
- Javascript EXIF 图像方向和图像预览
- 获取 img 元素的 exif 方向并相应地分配类