<?phpclass imgcompress{private $error;public function getError(){return $this->error;}/**** 制作缩略图* @param $src_path string 原图路径* @param $max_w int 画布的宽度* @param $max_h int 画布的高度* @param $flag bool 是否是等比缩略图  默认为false* @param $prefix string 缩略图的前缀  默认为'sm_'**/public function thumb($src_path,$max_w,$max_h,$prefix = 'sm_',$flag = false){//获取文件的后缀$ext=  strtolower(strrchr($src_path,'.')); //判断文件格式switch($ext){case '.jpg':$type='jpeg';break;case '.gif':$type='gif';break;case '.png':$type='png';break;default:$this->error='文件格式不正确';return false;}//拼接打开图片的函数$open_fn = 'imagecreatefrom'.$type;//打开源图$src = $open_fn($src_path);//创建目标图$dst = imagecreatetruecolor($max_w,$max_h);//源图的宽$src_w = imagesx($src);//源图的高$src_h = imagesy($src);//是否等比缩放if ($flag) { //等比//求目标图片的宽高if ($max_w/$max_h < $src_w/$src_h) {//横屏图片以宽为标准$dst_w = $max_w;$dst_h = $max_w * $src_h/$src_w;}else{//竖屏图片以高为标准$dst_h = $max_h;   $dst_w = $max_h * $src_w/$src_h;}//在目标图上显示的位置$dst_x=(int)(($max_w-$dst_w)/2);$dst_y=(int)(($max_h-$dst_h)/2);}else{    //不等比$dst_x=0;$dst_y=0;$dst_w=$max_w;$dst_h=$max_h;}//生成缩略图imagecopyresampled($dst,$src,$dst_x,$dst_y,0,0,$dst_w,$dst_h,$src_w,$src_h);//文件名$filename = basename($src_path);//文件夹名$foldername=substr(dirname($src_path),0);//缩略图存放路径$thumb_path = $foldername.'/'.$prefix.$filename;//把缩略图上传到指定的文件夹imagepng($dst,$thumb_path);//销毁图片资源imagedestroy($dst);imagedestroy($src);//返回新的缩略图的文件名return $prefix.$filename;}}/*
使用方法include_once('imgcompress.php');  //导入$image = new imgcompress();//源图路径
$src_path='test.jpg';
//把新图片的名称返回浏览器
echo  $image->thumb($src_path,300,200);*/?>

php 指定大小缩略图片相关推荐

  1. JS中通过指定大小来压缩图片

    前不久王二写了一个图片处理库,可以指定图片质量压缩图片,调用的是javaScript的原生方法 toDataURL 和 toBlob,库里有如下这些方法: 但是通过质量压缩图片有一些不足之处:无法确定 ...

  2. 前端性能优化:使用媒体查询加载指定大小的背景图片

    日期:2013-7-8  来源:GBin1.com 直到CSS @supports被广泛支持,CSS媒体查询的使用接近于CSS中写逻辑控制.我们经常用CSS媒体查询来根据设备调整CSS属性(通常根据屏 ...

  3. 网站介绍三合一缩略图片kyuan源码 可自定义增加广告位

    介绍: 网站介绍三合一缩略图片kyuan源码 可自定义增加广告位 上传主机根目录解压打开域名就行. 使用记事本进行修改资料即可 网盘下载地址: http://kekewl.org/E4hICmomNs ...

  4. 在springboot中使用Thumbnailator缩略图片

    开源库 Thumbnailator 可根据已有图片,截取指定范围并缩放,还支持添加水印 Maven 依赖 Maven: https://mvnrepository.com/artifact/net.c ...

  5. 上传图片到OSS,并按指定大小范围压缩图片。完整工具类+三层调用

    使用阿里的Oss服务器,做图片服务器. 项目功能为,前端,调用后端的接口,上传用户的图片! 1.controller类 @RestController @RequestMapping("/o ...

  6. 如何将图片压缩到指定大小?压缩图片大小的方法

    很多报名平台都对图片大小有固定的数值要求,所以不少小伙伴来问,怎么压缩图片200k以下(图片压缩到指定大小 图片压缩大小至指定kb以下-压缩图)?想要把图片压缩指定大小就要用到一些比较专业的工具,今天 ...

  7. GIF图片裁剪出指定大小的GIF图片

    前言 网购优惠券 www.fenfaw.cn 最近在博客后台上传图片的时候,突然发现上传gif图片的时候裁剪图片有问题.既没法裁剪gif指定区域的图片,又没法裁剪指定区域生成一个新的指定大小的gif图 ...

  8. php修改图片为指定大小,php裁剪图片为固定大小步骤详解

    这次给大家带来php裁剪图片为固定大小步骤详解,php裁剪图片为固定大小的注意事项有哪些,下面就是实战案例,一起来看一下. 做一个首页调用图像,有时需要获得固定大小的图像,因为首页的图像位置通常由设计 ...

  9. php转发朋友圈缩略图片,解释最全的,手把手教的微信JS sdk分享设置教程-微信分享插件PHP源码JS-SDK接口,分享到朋友圈 转发好友带缩略图...

    亲们,此文是我上传的有关微信分享插件PHP源码JS-SDK接口的.rar和.zip的说明使用文件 许多朋友都面临自己编写的网站通过微信转发时,无论是分享微信好友或是微信朋友圈时,出现无缩略图显示的问题 ...

最新文章

  1. DDOS***类型以及iptables防范ddos脚本
  2. 黑马程序员—————— 多线程
  3. Vue基础之表单控件绑定
  4. 1092. To Buy or Not to Buy (20)
  5. java nslookup_nslookup使用教程
  6. 12年前的 Linux bug 复活,DNS 缓存投毒攻击重现
  7. java学习(三)内部类
  8. 学习Maven之Maven Surefire Plugin(JUnit篇)
  9. 全网年份最全-中国环境统计年鉴 1998-2021年
  10. 《一天搞懂深度学习》--李宏毅
  11. 天翼网关如何开启虚拟服务器,天翼网关怎么设置wifi密码?天翼网关如何开启或关闭WIFI...
  12. 经典按键java手机游戏_菜鸟也能轻松吃鸡的神器——莱仕达P30S手机游戏手柄体验...
  13. java接口文档怎么写_如何写好API接口文档
  14. 微信h5使用audio不会自动播放
  15. 5G NR OFDM链路层仿真及Matlab代码实现(1):LDPC信道编译码之5G Tollbox中相关函数使用介绍
  16. Java 算法 统计单词个数
  17. win7怎样打开无线服务器,Win7怎么设置tplink路由器_Win7安装tplink路由器方法-192路由网...
  18. java软件工程师自我评价_java软件工程师自我评价
  19. error: C2039: “staticMetaObject”: 不是“QGraphicsItem”的成员
  20. 形式语言与自动机及其在NLP中的应用

热门文章

  1. html假蓝屏死机源码,100秒内蓝屏死机的脚本源代码
  2. missing ‘;‘ before ‘int‘ C语言
  3. 懂点前端——对CSS中的Padding、Border、Margin属性的理解
  4. html中视频代码字段,Html5通过数据流方式播放视频的实现
  5. linux上项目运行日志导致磁盘空间不够的问题
  6. iPhone更换字体教程,无需越狱,支持所有苹果设备!
  7. 短裙高跟丝袜外拍,真的很漂亮哦!
  8. wxpython应用程序_用wxPython创建GUI应用程序展示NASA图片(第一部分)
  9. 用户需知:ComingChat的现在和未来——深度解析
  10. 母猪公司和沙丁鱼罐头