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 相关文章推荐
5.PHP的其他功能
Oct 09 PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
PHP中的integer类型使用分析
Jul 27 PHP
优化PHP代码技巧的小结
Jun 02 PHP
浅析ThinkPHP的模板输出功能
Jul 01 PHP
调试WordPress中定时任务的相关PHP脚本示例
Dec 10 PHP
PHP巧妙利用位运算实现网站权限管理的方法
Mar 12 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
Oct 19 PHP
PHP count_chars()函数讲解
Feb 14 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 PHP
php设计模式之策略模式应用案例详解
Jun 17 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 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
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
php 伪静态之IIS篇
2014/06/02 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
一个js封装的不错的选项卡效果代码
2008/02/15 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
jquery 选项卡效果 新手代码
2011/07/08 Javascript
随窗体滑动的小插件sticky源码
2013/06/21 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
JS实现div居中示例
2014/04/17 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
详解使用路由延迟加载 Angular 模块
2017/10/12 Javascript
深入理解node.js http模块
2018/01/24 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
详解Appium+Python之生成html测试报告
2019/01/04 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
如何用Matplotlib 画三维图的示例代码
2020/07/28 Python
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
经济实惠的名牌太阳镜和眼镜:Privé Revaux
2021/02/07 全球购物
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
中学门卫岗位职责
2013/12/26 职场文书
考试诚信承诺书
2014/05/23 职场文书
实习协议书
2015/01/27 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang
如何用H5实现好玩的2048小游戏
2022/07/23 HTML / CSS