php图像处理类实现缩放 裁剪 加水印,ThinkPHP图像的裁剪、缩放、加水印

ThinkPHP 图片处理函数,需要文字水印字体,可在windows下 控制面板 > 大图标(右上角) > 字体 找到需要的字体

/**

* 图像的裁剪、缩放、加水印

* @param string $path路径

* @param int$width裁剪的宽度/限制的高度或宽度,当有$height值时此值为图片的宽度,否则为限制的宽度或高度

* @param int$height[可选]裁剪的高度

* @param boolean $water[可选]是否加水印

* @param int$word[可选]水印文字

*/

function zoom_image($path,$width = 300,$height = null,$water = null,$word = 'water'){

$image = new \Think\Image();

$image->open($path);

$imgWidth = $image->width();

$imgHeight = $image->height();

// 限制尺寸

if($width and !$height){

$maxSize = $width;

// 宽度或高度大于规定尺寸时

if($imgWidth > $maxSize or $imgHeight > $maxSize){

$size = image_min_width($imgWidth,$imgHeight,$maxSize);

$image->thumb($size['width'], $size['height']);

$do = true;

$dowater = true;

}

// 裁剪固定尺寸

}else if($width and $height){

$size = image_min_width($imgWidth,$imgHeight,$width);

$image->thumb($size['width'], $size['height'])->crop($width, $height);

$do = true;

$dowater = true;

}

if($dowater and $water and $word){

$image->text($word,'./Public/images/arial.ttf',20,'#dddddd', \Think\Image::IMAGE_WATER_SOUTHEAST,-10);

}

// 未操作则不保存

if($do){

$image->save($path);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值