/**

* 生成缩略图

* $imgSrc图片源路径

* $resize_width图片宽度

* $resize_height图片高度

* $dstimg缩略图路径

* $isCut是否剪切图片

*/

public function reSizeImg($imgSrc, $resize_width, $resize_height, $dstimg, $isCut = false) {

//图片的类型

$type = substr(strrchr($imgSrc, "."), 1);

//初始化图象

if ($type == "jpg" || $type == "jpeg") {

$im = imagecreatefromjpeg($imgSrc);

}

if ($type == "gif") {

$im = imagecreatefromgif($imgSrc);

}

if ($type == "png") {

$im = imagecreatefrompng($imgSrc);

}

$width = imagesx($im);

$height = imagesy($im);

//生成图象

//改变后的图象的比例

$resize_ratio = ($resize_width) / ($resize_height);

//实际图象的比例

$ratio = ($width) / ($height);

if (($isCut) == 1) {

if ($ratio >= $resize_ratio) {

//高度优先

$newimg = imagecreatetruecolor($resize_width, $resize_height);

imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, (($height) * $resize_ratio), $height);

ImageJpeg($newimg, $dstimg);

}

if ($ratio < $resize_ratio) {

//宽度优先

$newimg = imagecreatetruecolor($resize_width, $resize_height);

imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, $width, (($width) / $resize_ratio));

ImageJpeg($newimg, $dstimg);

}

} else {

if ($ratio >= $resize_ratio) {

$newimg = imagecreatetruecolor($resize_width, ($resize_width) / $ratio);

imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, ($resize_width) / $ratio, $width, $height);

ImageJpeg($newimg, $dstimg);

}

if ($ratio < $resize_ratio) {

$newimg = imagecreatetruecolor(($resize_height) * $ratio, $resize_height);

imagecopyresampled($newimg, $im, 0, 0, 0, 0, ($resize_height) * $ratio, $resize_height, $width, $height);

ImageJpeg($newimg, $dstimg);

}

}

ImageDestroy($im);

}

php 生成等比例缩略图,PHP等比例生成缩略图相关推荐

  1. java 上传图片 生成缩略图_将图片生成缩略图Java代码实现

    在工作中经常会遇到图片处理相关的需求,比如说一些图片网站只展示相关的缩略图,而真实的图片可能很大而不是直接展示.所以就需要在上传相关的图片后直接对图片进行处理生成相关的缩略图.实现代码如下: impo ...

  2. R语言构建logistic回归模型并评估模型:构建基于混淆矩阵计算分类评估指标的自定义函数、阳性样本比例(垃圾邮件比例)变化对应的分类器性能的变化、基于数据阳性样本比例选择合适的分类评估指标

    R语言构建logistic回归模型并评估模型:构建基于混淆矩阵计算分类评估指标的自定义函数.阳性样本比例(垃圾邮件比例)变化对应的分类器性能的变化.基于数据阳性样本比例选择合适的分类评估指标 目录

  3. 比例阀为什么需要比例阀放大器

    有网友问比例阀为什么需要比例阀放大器,要解决这个问题首先我们要了解比例阀的原理和结构. 各种液压阀的操纵.控制都是通过力(力矩)或位移(角位移)形式的机械量来实现的,其可以通过手动.气动.机动.液动. ...

  4. 4米乘以12米CAD图_CAD绘图比例、出图比例、打印比例讲解!!!

    哈喽- 本来要介绍一下CAD小技能,但考虑到刚接触CAD的同学,所以很有必要说明一下CAD的绘图比例,出图比例,打印比例,这是CAD绘图最基本也是最重要的,同时也是很多人没有掌握的,这三个比例没有掌握 ...

  5. python字典统计男女比例_python统计男女比例-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 python 实现代码行数 统 ...

  6. 融资融券基础005:保证金比例与维持担保比例(转)

    (转载自网络上,自称大众理财,稍有修改) 两大比例细品味 融资融券保证金比例与维持担保比例非常重要,是投资者灵活操作的关键. 保证金比例50%: 沪深交易所规定,融资保证金比例和融券保证金比例均不得低 ...

  7. maven生成html单元测试报告,Maven中配置生成单元测试报告配置

    对junit单元测试的报告: 1.  ------------------------------------------------------- 2.   T E S T S 3.  ------ ...

  8. pandas基于日期信息(time or date)生成季度信息(quarter)实战:pandas基于日期信息列生成季度信息列、dt.quarter生成季度信息、dt.to_period生成季度信息

    pandas基于日期信息(time or date)生成季度信息(quarter)实战:pandas基于日期信息列生成季度信息列.dt.quarter生成季度信息.dt.to_period生成季度信息 ...

  9. java生成流水号001_可变数据如何批量生成?

    原标题:可变数据如何批量生成? 常见的可变数据批量生成有两种:"流水号数据的批量生成"和"连接数据库文件的数据生成".流水号数据就是类似001-002-003- ...

最新文章

  1. Nuget服务的搭建-打包-上传-删除
  2. JBOSS配置系统应用的端口号
  3. matplotlib----初探------4折线图
  4. 漫画说算法--动态规划算法二(绝对通俗易懂,非常棒)
  5. Oracle Online Redefinition在线重定义(下)
  6. 开源.Net Standard版华为物联网北向接口SDK
  7. MCMS 基于SpringBoot 2架构
  8. 关于3Q大战和反垄断
  9. 淘宝开放接口api分享
  10. 【阿里妈妈营销科学系列】第四篇:营销渠道效果评估与归因
  11. 最好用的免费搜题软件,一键聚合搜题!中小学、大学都支持
  12. Qt 中信号和槽机制
  13. 微信发布小游戏扶持政策;滴滴上线“滴水贷”;美团将与百度合作无人驾驶送外卖丨价值早报...
  14. python 时间转为秒数
  15. 蔚来回应测试车坠楼:初步确认为意外事故;首发苹果M2,新MacBook Pro 13英寸正式开售:9999元起|极客头条
  16. 互联网晚报 | 05月17日 星期二 | 郑州首套房贷利率最低降至4.4%;可口可乐被曝员工不得购买竞品...
  17. 4.卡尔曼滤波之卡尔曼滤波的基本方程
  18. 今年有多少周?今天是今年的第几天?第几周?
  19. 核能谱测量软件的需求分析与总体设计
  20. 被面试官侮辱后,我决定通宵研究JVM!

热门文章

  1. 输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue 中使用防抖和节流
  2. Mycat常见问题与解决方案
  3. 【Airtest】Airtest中swipe方法兼容不同分辨率的解决方法
  4. Spark程序运行常见错误解决方法以及优化
  5. selenium 获取请求返回内容的解决方案
  6. 如果需要,npm检查并更新包
  7. 如何检测链表中的循环?
  8. 如何将NSString转换为NSNumber
  9. SQL连接:where子句与on子句
  10. IPv6新形势下的安全解决方案