首页 > 开发 > ThinkPHP > 正文

thinkPHP框架实现图像裁剪、缩放、加水印的方法

2024-09-09 15:20:23
字体:
来源:转载
供稿:网友

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

  1. /** 
  2. * 图像的裁剪、缩放、加水印 
  3. * @param string $path    路径 
  4. * @param int $width   裁剪的宽度/限制的高度或宽度,当有$height值时此值为图片的宽度,否则为限制的宽度或高度 
  5. * @param int $height   [可选]裁剪的高度 
  6. * @param boolean $water   [可选]是否加水印 
  7. * @param int $word    [可选]水印文字 
  8. */ 
  9. functionzoom_image($path,$width= 300,$height= null,$water= null,$word='water'){ 
  10.   $image=new/Think/Image(); 
  11.   $image->open($path); 
  12.   $imgWidth=$image->width(); 
  13.   $imgHeight=$image->height(); 
  14.   // 限制尺寸 
  15.   if($widthand!$height){ 
  16.     $maxSize=$width
  17.     // 宽度或高度大于规定尺寸时 
  18.     if($imgWidth>$maxSizeor$imgHeight>$maxSize){ 
  19.       $size= image_min_width($imgWidth,$imgHeight,$maxSize); 
  20.       $image->thumb($size['width'],$size['height']); 
  21.       $do= true; 
  22.       $dowater= true; 
  23.     } 
  24.   // 裁剪固定尺寸 
  25.   }elseif($widthand$height){ 
  26.     $size= image_min_width($imgWidth,$imgHeight,$width); 
  27.     $image->thumb($size['width'],$size['height'])->crop($width,$height); 
  28.     $do= true; 
  29.     $dowater= true; 
  30.   } //Vevb.com 
  31.   if($dowaterand$waterand$word){ 
  32.     $image->text($word,'./Public/images/arial.ttf',20,'#dddddd', /Think/Image::IMAGE_WATER_SOUTHEAST,-10); 
  33.   } 
  34.   // 未操作则不保存 
  35.   if($do){ 
  36.     $image->save($path); 
  37.   } 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选