zoukankan      html  css  js  c++  java
  • iOS图片上传后被旋转的问题

    最近用PHP做了一个图片合成程序,前端是通过HTML的file input选取自定图片,POST到php后台调整尺寸后与事先准备好的背景图进行合成。

    通过测试发现,上传后的自定图片有的被旋转了,有的是正常的。通过多次统计,发现主要受影响的是iOS系统,而且都是竖屏拍摄的照片,安卓系统暂未发现受影响。google一下了解到,这是因为iPhone对拍摄的照片附加了EXIF信息(如镜头、光圈、快门、焦距、相机拍摄角度等),图片被上传后自动根据相机拍摄角度做了旋转。

    那么解决方案就是根据图像EXIF信息中的相机拍摄角度(Orientation),再旋转回来就OK了。

    php库函数exif_read_data()提供了读取jpg iff图像EXIF信息的功能,函数返回数组中的Orientation键值含义对照如下:

    1:0°,

    3:180°

    6:顺时针90°,

    8:逆时针90°

    后端取得图像EXIF信息后,用imagerotate将图片旋转回来即可。(此函数只旋转图像,不会旋转画布,所以需要更好的方法来实现图片旋转)

  • 相关阅读:
    Beyond Compare 4 过期操作
    python2 批量转 python3
    【JavaScript】为什么javascript是单线程
    Java之花样玩枚举
    OpenSSL
    OpenSSL和OpenSSH以及私有CA的实现
    Python-线程同步
    Zookeeper基础
    pycharm中使用git以及多分支结构
    BZOJ 4771 主席树+倍增+set
  • 原文地址:https://www.cnblogs.com/haries/p/ios-image-upload.html
Copyright © 2011-2022 走看看