PHP实现图片裁剪、添加水印效果代码


Posted in PHP onOctober 01, 2014

3、PHP对图像的裁剪

<div>
    <h4>裁剪之前</h4>
    <img src="1.png" style="border:1px solid red;">
  </div>
  <?php
  header("content-type","text/html;charset=utf-8");
   
  /*
  *图片裁剪
  *@param string $filename  图片的url
  *@param int  $width   图片裁剪宽度
  *@param int  $height   图片裁剪高度
  *@param int  $x     裁剪图片左边开始的位置
  *@param int  $y     裁剪图片顶边开始的位置
  */
  function cut($filename,$x,$y,$width,$height)
  {
    /*获取图像资源,需要裁剪的图片*/
    $image = imagecreatefrompng($filename);
  
    /*以新的大小创建画布,保存裁剪后的图片*/
    $image_p = imagecreatetruecolor($width, $height);
  
    /*使用imagecopyresampled缩放*/
    imagecopyresampled($image_p, $image, 0, 0, $x, $y, $width, $height, $width, $height);
  
    /*保存裁剪后的图片和命名*/
    imagepng($image_p,'test1.png');
  
    /*释放资源*/
    imagedestroy($image_p);
    imagedestroy($image);
  }
  /*调用函数*/
  cut('1.png',20,20,80,80);      
  ?>
  <div>
    <h4>裁剪之后</h4>
    <img src="test1.png" style="border:1px solid red;">
  </div>

效果

PHP实现图片裁剪、添加水印效果代码

4、PHP为图像添加水印

<div>
    <h4>没有水印</h4>
    <img src="1.png" style="border:1px solid red;">
  </div>
  <?php
  header("content-type","text/html;charset=utf-8");
   
  /*
  *给背景图片添加水印,背景图片格式png,水印格式gif
  *@param string $filename  图片的url
  *@param string $water   水印图片
  */
  function watermark($filename,$water)
  {
    /*获取原图的大小*/
    list($b_w,$b_h) = getimagesize($filename);
  
    /*获取水印图片的大小*/
    list($w_w,$w_h) = getimagesize($water);
  
    /*在背景图片中放水印图片的随机起始位置*/
    $posX =rand(0,($b_w - $w_w));
    $posY =rand(0,($b_h - $w_h));
  
    /*获取图像资源,需要裁剪的图片*/
    $back = imagecreatefrompng($filename);
    $water = imagecreatefromgif($water);
  
    /*使用Inagecopy函数复制水印图片到指定位置*/
    imagecopy($back, $water, $posX, $posY, 0, 0, $w_w, $w_h);
  
    /*保存带水印的图片和命名*/
    imagepng($back,'test2.png');
  
    /*释放资源*/
    imagedestroy($back);
    imagedestroy($water);
  }
  /*调用函数*/
  watermark('1.png','test.gif');      
  ?>
  <div>
    <h4>加上水印</h4>
    <img src="test2.png" style="border:1px solid red;">
  </div>

效果

PHP实现图片裁剪、添加水印效果代码

PHP 相关文章推荐
PHP新手上路(七)
Oct 09 PHP
PHP开发环境配置(MySQL数据库安装图文教程)
Apr 28 PHP
php下mysql数据库操作类(改自discuz)
Jul 03 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
Jul 12 PHP
php通过字符串调用函数示例
Mar 02 PHP
thinkphp模板用法和内容输出实例
Nov 28 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
Mar 12 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
May 19 PHP
PHP实现负载均衡session共享redis缓存操作示例
Aug 22 PHP
安装docker和docker-compose实例详解
Jul 30 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
Oct 15 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
Oct 01 #PHP
PHP的switch判断语句的“高级”用法详解
Oct 01 #PHP
php中文字符串截取方法实例总结
Sep 30 #PHP
php出现web系统多域名登录失败的解决方法
Sep 30 #PHP
php中运用http调用的GET和POST方法示例
Sep 29 #PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 #PHP
PHP中echo,print_r与var_dump区别分析
Sep 29 #PHP
You might like
PHP时间戳使用实例代码
2008/06/07 PHP
解析PHP处理换行符的问题 \r\n
2013/06/13 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
2016/10/14 PHP
php swoft框架实例用法
2020/12/22 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
理解JAVASCRIPT中hasOwnProperty()的作用
2013/06/05 Javascript
Node.js中的缓冲与流模块详细介绍
2015/02/11 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
3分钟快速搭建nodejs本地服务器方法运行测试html/js
2017/04/01 NodeJs
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
Nodejs调用WebService的示例代码
2017/09/29 NodeJs
详解webpack多页面配置记录
2018/01/22 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
python使用paramiko模块实现ssh远程登陆上传文件并执行
2014/01/27 Python
python 多线程实现检测服务器在线情况
2015/11/25 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
2020/09/03 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
单位未婚证明范本
2014/11/25 职场文书
超市收银员岗位职责
2015/04/07 职场文书
《西门豹》教学反思
2016/02/23 职场文书
java设计模式--建造者模式详解
2021/07/21 Java/Android