我已经建立了一个网络应用程序,可以让您从浏览器上传照片.当在iOS 6中使用此功能时,即使在上传时拍摄照片,照片似乎也以横向显示.我应该做一些服务器端检查,以使图像正确的方式,还是有某种iOS特定属性/
JavaScript我可以应用于上传表单来解决这个问题?
更新
根据要求,这里是我写的代码.先决条件是我使用PHP和WideImage库(这是一个更大的脚本的代码段,所以如果你喜欢,你可以使用不同的图像处理方法).
// Load Image Into Wide Image $image=WideImage::load(IMG_UPLOAD_DIR.$result['name']); $exif=exif_read_data(IMG_UPLOAD_DIR.$result['name']); $orientation=$exif['Orientation']; $result['orientation']=$orientation; // Use Wide Image To Resize Images $full=$image->resize(IMG_FULL_H,IMG_FULL_H); $thumb=$image->resize(IMG_THUMB_W,IMG_THUMB_H); switch($orientation){ case 2: $full->mirror()->saveToFile(IMG_UPLOAD_DIR.$result['name'],90); $thumb->mirror()->saveToFile(IMG_UPLOAD_DIR.$thumbName,90); break; case 3: $full->rotate(-180)->saveToFile(IMG_UPLOAD_DIR.$result['name'],90); $thumb->rotate(-180)->saveToFile(IMG_UPLOAD_DIR.$thumbName,90); break; case 4: $full->rotate(180)->mirror()->saveToFile(IMG_UPLOAD_DIR.$result['name'],90); $thumb->rotate(180)->mirror()->saveToFile(IMG_UPLOAD_DIR.$thumbName,90); break; case 5: $full->rotate(90)->mirror()->saveToFile(IMG_UPLOAD_DIR.$result['name'],90); $thumb->rotate(90)->mirror()->saveToFile(IMG_UPLOAD_DIR.$thumbName,90); break; case 6: $full->rotate(90)->saveToFile(IMG_UPLOAD_DIR.$result['name'],90); $thumb->rotate(90)->saveToFile(IMG_UPLOAD_DIR.$thumbName,90); break; case 7: $full->rotate(-90)->saveToFile(IMG_UPLOAD_DIR.$result['name'],90); $thumb->rotate(-90)->saveToFile(IMG_UPLOAD_DIR.$thumbName,90); break; case 8: $full->rotate(-90)->saveToFile(IMG_UPLOAD_DIR.$result['name'],90); break; default: $full->saveToFile(IMG_UPLOAD_DIR.$result['name'],90); $thumb->saveToFile(IMG_UPLOAD_DIR.$thumbName,90); break; }
解决方法
检查图像exif元数据,iPhone相机拍摄“旋转”图像.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。