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 开源AJAX框架14种
Aug 24 PHP
hessian 在PHP中的使用介绍
Dec 13 PHP
初学PHP的朋友 经常问的一些问题。不断更新
Aug 11 PHP
一个PHP针对数字的加密解密类
Mar 20 PHP
PHP实现更新中间关联表数据的两种方法
Sep 01 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
Mar 02 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
PHP基本语法实例总结
Sep 09 PHP
phpcms中的评论样式修改方法
Oct 21 PHP
yii2局部关闭(开启)csrf的验证的实例代码
Jul 10 PHP
php多进程中的阻塞与非阻塞操作实例分析
Mar 04 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
phpMyadmin 用户权限中英对照
2010/04/02 PHP
php多线程并发实现方法
2016/09/30 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
List Installed Software Features
2007/06/11 Javascript
flexigrid 参数说明
2010/11/23 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
jquery实现点击变换导航样式的方法
2015/08/31 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
函数式编程入门实践(一)
2019/04/20 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
[46:53]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python3.0 字典key排序
2008/12/24 Python
初步认识Python中的列表与位运算符
2015/10/12 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
python如何通过实例方法名字调用方法
2018/03/21 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
贫困证明模板(3篇)
2014/09/16 职场文书
作风建设剖析材料
2014/10/06 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
补充协议书
2015/01/28 职场文书
nginx中proxy_pass各种用法详解
2021/11/07 Servers
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python
WIN10使用IIS部署ftp服务器详细教程
2022/08/05 Servers