PHP+Imagick处理APP或WAP上传被翻转的图片

  • APP或者WAP端上传,很多图片查看原图时正常,动态处理后会有翻转的情况
  • 图片的EXIF信息中有Orientation值
  • 高级浏览器会根据Orientation值自动进行翻转,查看时不会有问题
  • Imagick编辑图片时不会自动翻转图片,编辑完会发现有的图片被翻转了
  • 所以在处理前需要需要把图片文件进行翻转+
$srcImage = '*.jpg';
$canvas = new \Imagick($srcImage);
$orientation = $canvas->getImageOrientation();
switch ($orientation) {
        case \Imagick::ORIENTATION_BOTTOMRIGHT:
            $canvas->rotateImage("#000", 180);
            break;
        case \Imagick::ORIENTATION_RIGHTTOP:
            $canvas->rotateImage("#000", 90);
            break;
        case \Imagick::ORIENTATION_LEFTBOTTOM:
            $canvas->rotateImage("#000", -90);
            break;
}
$canvas->setImageOrientation(\Imagick::ORIENTATION_TOPLEFT);

你可能感兴趣的:(PHP+Imagick处理APP或WAP上传被翻转的图片)