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

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
* 图像的裁剪、缩放、加水印
* @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 );
     }
}

转载于:https://www.cnblogs.com/chinalorin/p/5855467.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值