php图片裁剪缩略图方法

 更新时间:2018年11月7日 15:35  点击:332

本文实例为大家分享了php图片裁剪函数的具体代码,供大家参考,具体内容如下

/* * 图片裁剪工具 * 将指定文件裁剪成正方形 * 以中心为起始向四周裁剪 *
 @param $src_path string 源文件地址 *
 @param $des_path string 保存文件地址 * 
 @param $des_w double 目标图片宽度 * 
 */
 function img_cut_square($src_path,$des_path,$des_w=100)
 {  
 $img_info = getimagesize($src_path);//获取原图像尺寸信息
 $img_width = $img_info[0];//原图宽度  
 $img_height = $img_info[1];//原图高度  
 $img_type = $img_info[2];//图片类型 1 为 GIF 格式、 2 为 JPEG/JPG 格式、3 为 PNG 格式  
 if($img_type != 2 && $img_type != 3) return ;  /*计算缩放尺寸*/
 if($img_height > $img_width){
   $scale_width = $des_w;//缩放宽度
   $scale_height = round($des_w / $img_width * $img_height);//缩放高度
   $src_y = round(($scale_height - $des_w)/2);
   $src_x = 0;
 }else{ 
   $scale_height = $des_w;
   $scale_width = round($des_w / $img_height * $img_width);
   $src_y = 0;
   $src_x = round(($scale_width - $des_w)/2);
 }
 $dst_ims = imagecreatetruecolor($scale_width, $scale_height);//创建真彩画布
 $white = imagecolorallocate($dst_ims, 255, 255, 255);
 imagefill($dst_ims, 0, 0, $white);
 if($img_type == 2){
  $src_im = @imagecreatefromjpeg($src_path);//读取原图像
 }else if($img_type == 3){
  $src_im = @imagecreatefrompng($src_path);//读取原图像
 }
 imagecopyresized($dst_ims, $src_im, 0, 0 ,0, 0 , $scale_width , $scale_height , $img_width,$img_height);//缩放图片到指定尺寸
 $dst_im = imagecreatetruecolor($des_w, $des_w);//
 $white = imagecolorallocate($dst_im, 255, 255, 255);//
 imagefill($dst_im, 0, 0, $white);
 imagecopy($dst_im, $dst_ims, 0, 0, $src_x, $src_y, $des_w, $des_w);//开始裁剪图片为正方形//
 imagecopyresampled($dst_im, $src_im, $src_x, $src_y, 0, 0, $real_width, $real_width,$img_width,$img_height);
 if($img_type == 2) {
   imagejpeg($dst_im, $des_path);//保存到文件
  }else if($img_type == 3){
   imagepng($dst_im,$des_path);
  }//  imagejpeg($dst_im);//输出到浏览器
  imagedestroy($dst_im);
  imagedestroy($dst_ims);
  imagedestroy($src_im);
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持猪先飞。

[!--infotagslink--]

相关文章

  • iOS如何将图片裁剪成圆形

    这篇文章主要为大家详细介绍了iOS如何将图片裁剪成圆形,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-30
  • python将原图裁剪为固定尺寸小图

    这篇文章主要为大家详细介绍了python将原图裁剪为固定尺寸小图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-04-05
  • C#实现图片切割、切图、裁剪

    这篇文章主要为大家详细介绍了C#实现图片切割、切图、裁剪,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • PyTorch梯度裁剪避免训练loss nan的操作

    这篇文章主要介绍了PyTorch梯度裁剪避免训练loss nan的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-05-24
  • C#图片处理3种高级应用

    本文介绍C#图片处理高级应用,这些功能并无多大技术含量。全部基于.Net Framework类库完成,代码中包含了C#图片处理的一些基础知识,与大家分享,个人能力有限,不足之处还请及时指正。...2020-06-25
  • Asp.Net平台下的图片在线裁剪功能的实现代码(源码打包)

    最近项目中有个图片在线裁剪功能,本人查找资料,方法如下:前台展现用jquery.Jcrop实现,后台使用 System.Drawing.Image类来进行裁剪...2021-09-22
  • 基于asp.net实现图片在线上传并在线裁剪功能

    本文主要介绍了基于asp.net实现图片在线上传并在线裁剪功能的具体事例代码,具有一定的参考价值。需要的朋友可以参考下...2021-09-22
  • C++中Boost库裁剪与其应用详解

    大家都知道STL全称"标准模板库(Standard Template Library)",其实它是一套标准,可能有不同的实现,它是 C++ 的"标准库"。Boost 则是一个 C++ 库,被称为"C++ 准标准库"。那么这篇文章文章我们就来详细的介绍C++Boost库的裁剪与其应用,感兴趣的朋友可以一起学习。...2020-04-25
  • php imagecreatetruecolor图像裁剪

    php imagecreatetruecolor图像裁剪 任意图像裁剪成固定大小,图像不变形,空白处拉伸填充,图像始终铺满,不留空白,用过bcastr的朋友应该知道,bcastr就是保证了图像调用的不变...2016-11-25
  • python通过opencv实现图片裁剪原理解析

    这篇文章主要介绍了python通过opencv实现图片裁剪原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-04-22
  • jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)

    这篇文章主要介绍了jQuery头像裁剪工具jcrop用法,结合实例形式分析了jQuery头像裁剪工具jquery.jcrop.js具体使用技巧,并附带了完整的demo源码供读者下载参考,需要的朋友可以参考下...2016-01-24
  • .net实现裁剪网站上传图片的方法

    这篇文章主要介绍了.net实现裁剪网站上传图片的方法,比较实用的功能,需要的朋友可以参考下...2020-06-25
  • PHP图像裁剪缩略裁切类源码及使用方法

    这篇文章主要介绍了PHP图像裁剪缩略裁切类源码及使用方法的相关资料,需要的朋友可以参考下...2016-01-09
  • ASP.NET简单好用功能齐全图片上传工具类(水印、缩略图、裁剪等)

    这篇文章主要介绍了ASP.NET简单好用功能齐全图片上传工具类(水印、缩略图、裁剪等),本文直接给出实现代码,需要的朋友可以参考下...2021-09-22
  • PHP实现图片不变型裁剪及图片按比例裁剪的方法

    这篇文章主要介绍了PHP实现图片不变型裁剪及图片按比例裁剪的方法,涉及PHP裁剪缩略图的常用技巧,需要的朋友可以参考下...2016-01-16
  • OpenCV Python实现图像指定区域裁剪

    这篇文章主要为大家详细介绍了OpenCV Python实现图像指定区域裁剪,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-07-21
  • C#如何实现图片的剪裁并保存

    基于c#实现图片的裁剪并保存功能,实现方法非常简单的,前端采用的cropper插件,但是在本文中没有给大家多介绍,需要的朋友可以到脚本之家去查找这个插件。好了,如果大家对c#实现图片裁剪并保存功能感兴趣的朋友一起看看吧...2020-06-25
  • PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF

    这篇文章主要介绍了PHP 使用 Imagick 裁切生成缩略图添加水印自动检测和处理 GIF的相关资料,需要的朋友可以参考下...2016-02-21
  • C#裁剪,缩放,清晰度,水印处理操作示例

    这篇文章主要为大家详细介绍了C#裁剪,缩放,清晰度,水印处理操作示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • c#利用Grahics进行图片裁剪

    这两天做了一个图片对比工具,里面要处理两张大的图片,所以要对图片先进行裁剪,下面看看我的方法吧...2020-06-25