部分手机拍照后上传图片,使用gd库处理图片默认发生旋转。

2019-12-18 17:29:28 浏览数 (4)

部分手机拍照图片exif头信息中设置了Orientation,该参数影响图片的旋转方式,导致生成缩列图时会发生旋转。

需要使用内置函数exif_read_data获取图片exif头信息,该函数依赖扩展exif,大多数环境默认未开启或未加载该扩展,需要先添加该扩展。

代码语言:javascript复制
     $exif = exif_read_data($image);
     if (!empty($exif['Orientation'])) {
          switch ($exif['Orientation']) {
              case 8:
                 $im = imagerotate($im, 90, 0);
                 break;
             case 3:
                 $im = imagerotate($im, 180, 0);
                 break;
             case 6:
                 $im = imagerotate($im, -90, 0);
             break;
         }
     }

1 人点赞