ImageMagick缩略图+居中补白

/usr/bin/convert $sourceFilePath -resize $size -background white -gravity center -extent $size $newFilePath

/usr/bin/convert /tmp/test.jpg -resize 500x500 -background white -gravity center -extent 500x500 /tmp/test_500x500.png

意为将test.jpg缩放(缩小或补充)为500x500px 图片居中,背景白色

这样图片出来后一定是500x500的图片,放在500x500的div里面就正好合适且居中

若不加 -extent 500x500  则图片就等比缩放,图片最后尺寸可能不会是500x500,放在500x500的div里面就会靠左或靠上

===============================

php计算等比宽高:

/**
	限制图片宽和高在一个范围内
	文件全路径,包括文件名,传入限制的宽 和 高   0为不限制
	返回按等比计算限制之后的宽和高
	*/
	public static function getLimitWH($sourceWidth, $sourceHeight, $maxWidth=0, $maxHeight=0){
		//$imgInfo = getimagesize($fileName);
		$maxWidth = min($sourceWidth, $maxWidth);
		$maxHeight = min($sourceHeight, $maxHeight);
		if ($maxWidth && $maxHeight) {//宽高都限制
			$tmp_width = intval($sourceWidth*$maxHeight/$sourceHeight);//先按高计算宽
			if ($tmp_width > $maxWidth){//如果算出来超出了限制
				$maxHeight = intval($sourceHeight*$maxWidth/$sourceWidth);//则按宽计算高
			}else{
				$maxWidth = $tmp_width;
			}
		} elseif ($maxWidth) {//只限制宽
			$maxHeight = intval($sourceHeight*$maxWidth/$sourceWidth);//按宽算高
		} elseif ($maxHeight) {//只限制高
			$maxWidth = intval($sourceWidth*$maxHeight/$sourceHeight);//按高算宽
		}
		return array($maxWidth, $maxHeight);
	}

转载于:https://my.oschina.net/lanybass/blog/62063

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值