什么是PHP Imagick类,相当于convert -auto-orient命令行开关

时间:2017-06-25 20:45:23

标签: php imagick exif

我目前直接使用Imagick在我的PHP文件中进行convert -auto-orient系统调用,以根据EXIF data自动调整图像。出于一致性原因,我想使用PHP Imagick class。是否有任何功能等同于auto-orient commandline option

提前致谢!

1 个答案:

答案 0 :(得分:0)

没有什么能直接开箱即用。这是我一直用来自动旋转图像的方法。

function resample($jpgFile, $thumbFile, $width, $orientation) {
    // Get new dimensions
    list($width_orig, $height_orig) = getimagesize($jpgFile);
    $height = (int) (($width / $width_orig) * $height_orig);
    // Resample
    $image_p = imagecreatetruecolor($width, $height);
    $image   = imagecreatefromjpeg($jpgFile);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
    // Fix Orientation
    switch($orientation) {
        case 3:
            $image_p = imagerotate($image_p, 180, 0);
            break;
        case 6:
            $image_p = imagerotate($image_p, -90, 0);
            break;
        case 8:
            $image_p = imagerotate($image_p, 90, 0);
            break;
    }
    // Output
    imagejpeg($image_p, $thumbFile, 90);
}