• GD库(二)


    PHP图片处理
    1.图片背景管理
    使用 imagecreate()和 imagecreatetruecolor()函数可以创建画布资源。但如果已经拥有图片进行处理,只需要将这个图片作为画布资源即可,也就是我们所说的创建图片背景。
    imagecreatefromjpeg($path)
    imagecreatefrompng($path)
    imagecreatefromgif($path)

    获取图片类型宽度高度等 getimagesize($path)

    2.图片放缩
      imagecopyresampled(dst_img,src_img,dst_x,dst_y,src_x,src_y,dst_w,dst_h,src_w,src_h)
    自定义图像放缩函数:

     1 function thumb($filename,$width=200,$height=200){
     2 //获取原图像的宽和高
     3 list($width_orig,$height_orig)=getimagesize($filename);
     4 
     5 //换算出比例宽高
     6 if($width && ($width_orig<$height_orig)){
     7 $width=($height/$height_orig)*$width_orig;
     8 }else{
     9 $height=($width/$width_orig)*$height_orig;
    10 }
    11 
    12 $im=imagecreatetruecolor($width,$height);
    13 $image=imagecreatefromjpeg($filename);//放缩jpeg格式
    14 imagecopyresampled($im,$image,0,0,0,0,$width,$height,$width_orig$height_orig);
    15 
    16 imagejpeg($im,$filename,100);
    17 
    18 imagedestroy($im);
    19 imagedestroy($image);
    20 }


    3.图片裁剪
    自定义裁剪函数:

     1 function cut($filename,$x,$y,$width,$height){
     2 //创建背景资源
     3 $back=imagecreatefromjpeg($filename);
     4 //创建保存裁剪后资源
     5 $im=imagecreatetruecolor($width,$height);
     6 //裁剪
     7 imagecopyresampled($im,$back,0,0,$x,$y,$width,$height,$width$height);
     8 //覆盖原图,如果不想覆盖可加前缀
     9 imagejpeg($im,$filename);
    10 
    11 imagedestroy($im);
    12 imagedestroy($back);


    4.添加水印
    自定义水印函数:

     1 function watermark($filename,$water){
     2 //获取背景图的宽高
     3 list($b_w,$b_h)=getimagesize($filename);
     4 //获取水印的宽高
     5 list($w_w,$w_h)=getimagesize($water);
     6 //水印在背景图的随机位置
     7 $posx=rand(0,($b_w-$w_w));
     8 $posy=rand(0,($b_h-$w_h));
     9 //创建背景和水印资源
    10 $back=imagecreatefromjpeg($filename);
    11 $water=imagecreatefrompng($water);
    12 //添加水印
    13 imagecopy($back,$water,$posx,$posy,0,0,$w_w,$w_h);
    14 //保存水印图
    15 imagejpeg($back,$filename);
    16 //释放资源
    17 imagedestroy($water);
    18 imagedestroy($back);
    19 }


    5.图片旋转
    自定义旋转函数:

    1 function rotate($filename,$degrees){
    2 //创建图像资源
    3 $im=imagecreatefromjpeg($filename);
    4 //按指定角度旋转
    5 $rotate=imagerotate($im,$degrees,0);
    6 //保存旋转后图
    7 imagejpeg($im,$filename);
    8 }






  • 相关阅读:
    IOS的系统手机 宽度无法自适应 解决办法
    iframe 设置背景透明
    thinkphp5 常用的2个方法
    thinkphp引入后台模板文件的路径怎么写?
    html的confirm()
    php 如何往数组里添加数据
    thinkphp51 重定向 redirect()
    【Oracle 触发器】(4)触发器应用场景--数据的确认
    【Oracle 触发器】(3)触发器应用场景--复杂的安全性检查
    【Oracle 触发器】(2)触发器的分类(语句级/行级)
  • 原文地址:https://www.cnblogs.com/yexiang520/p/5551586.html
Copyright © 2020-2023  润新知