imagemagick图片旋转

本文介绍了如何利用ImageMagick这一强大且免费的图片处理工具来读取、写入和处理不同格式的图片,包括解决iOS设备中图片旋转的问题。相比PHP的GD2库,ImageMagick提供更便捷的操作和更多功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ImageMagick图片处理是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过90种的图片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。

和php的gd2作用相似,但是使用更方便,功能更强大。

ios设备特性,导致图片旋转,可以使用以下方法调整:

// 判断图片是否需要旋转处理 (ios图片特性)
	public static function getImageSize($org_file_name) {
		$canvas = new \Imagick(realpath($org_file_name));
        $orientation = $canvas->getImageOrientation();
        if(in_array($orientation,[3,6,8])){
            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);
            $canvas->writeimage(realpath($org_file_name));
        }
		return self::getSize($org_file_name);
	}
	

获取图片尺寸:

// 获取图片尺寸
	public static function getSize($org_file_name){
        $image = new \Imagick($org_file_name);
		$size = $image->getImageGeometry();
		return $size;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值