查看: 431|回复: 0

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

发表于 2018-2-6 08:00:01

本文实例讲述了thinkPHP框架实现图像裁剪、缩放、加水印的方法。分享给大家供大家参考,具体如下:

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. function zoom_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($width and !$height){
  16. $maxSize = $width;
  17. // 宽度或高度大于规定尺寸时
  18. if($imgWidth > $maxSize or $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. }else if($width and $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. }
  31. if($dowater and $water and $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. }
  38. }
复制代码

PS:这里再为大家推荐几款比较实用的图片处理工具供大家参考使用:

在线图片转换BASE64工具:
http://tools.jb51.net/transcoding/img2base64

ICO图标在线生成工具:
http://tools.jb51.net/aideddesign/ico_img

在线Email邮箱图标制作工具:
http://tools.jb51.net/email/emaillogo

在线图片格式转换(jpg/bmp/gif/png)工具:
http://tools.jb51.net/aideddesign/picext

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

您可能感兴趣的文章:

  • PHP 裁剪图片成固定大小代码方法
  • php+js实现图片的上传、裁剪、预览、提交示例
  • 使用gd库实现php服务端图片裁剪和生成缩略图功能分享
  • PHP加Nginx实现动态裁剪图片方案
  • php使用imagick模块实现图片缩放、裁剪、压缩示例
  • PHP图片裁剪函数(保持图像不变形)
  • PHP实现图片裁剪、添加水印效果代码
  • PHP图片处理之使用imagecopyresampled函数裁剪图片例子
  • php结合imgareaselect实现图片裁剪
  • PHP图像裁剪缩略裁切类源码及使用方法
  • JQuery PHP图片在线裁剪实例
  • PHP实现的自定义图像居中裁剪函数示例【测试可用】


回复

使用道具 举报