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环境搭建最新方法
Sep 05 PHP
PHP安全配置
Dec 06 PHP
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
php二维数组用键名分组相加实例函数
Nov 06 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
Mac OS下配置PHP+MySql环境
Feb 25 PHP
PHP实现从远程下载文件的方法
Mar 12 PHP
php文件缓存类用法实例分析
Apr 22 PHP
深入理解PHP中的empty和isset函数
May 26 PHP
Yii2针对指定url的生成及图片等的引入方法小结
Jul 18 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 07 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 current函数获取未知字符键名数组第一个元素的值
2013/06/24 PHP
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
PHP实现通过二维数组键值获取一维键名操作示例
2019/10/11 PHP
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
JavaScript构造函数详解
2015/12/27 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
angular bootstrap timepicker TypeError提示怎么办
2017/06/13 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
element实现合并单元格通用方法
2019/11/13 Javascript
微信浏览器左上角返回按钮监听的实现
2020/03/04 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
[00:28]DOTA2北京网鱼队选拔赛
2015/04/08 DOTA
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
详解python中list的使用
2019/03/15 Python
Python微信操控itchat的方法
2019/05/31 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
python实现udp聊天窗口
2020/03/31 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
Python 里最强的地图绘制神器
2021/03/01 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
函授自我鉴定
2013/11/06 职场文书
职专应届生求职信
2013/11/16 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
微笑服务标语
2014/06/24 职场文书
logback 实现给变量指定默认值
2021/08/30 Java/Android
Java 超详细讲解ThreadLocal类的使用
2022/04/07 Java/Android