PHP实现压缩图片尺寸并转为jpg格式的方法示例


Posted in PHP onMay 10, 2018

本文实例讲述了PHP实现压缩图片尺寸并转为jpg格式的方法。分享给大家供大家参考,具体如下:

<?php
function ImageToJPG($srcFile,$dstFile,$towidth,$toheight)
{
  $quality=80;
  $data = @GetImageSize($srcFile);
  switch ($data['2'])
  {
  case 1:
    $im = imagecreatefromgif($srcFile);
    break;
  case 2:
    $im = imagecreatefromjpeg($srcFile);
    break;
  case 3:
    $im = imagecreatefrompng($srcFile);
    break;
  case 6:
  $im = ImageCreateFromBMP( $srcFile );
  break;
  }
  // $dstX=$srcW=@ImageSX($im);
  // $dstY=$srcH=@ImageSY($im);
  $srcW=@ImageSX($im);
  $srcH=@ImageSY($im);
  //$towidth,$toheight
  if($toheight/$srcW > $towidth/$srcH){
    $b = $toheight/$srcH;
  }else{
    $b = $towidth/$srcW;
  }
  //计算出图片缩放后的宽高
  // floor 舍去小数点部分,取整
  $new_w = floor($srcW*$b);
  $new_h = floor($srcH*$b);
  $dstX=$new_w;
  $dstY=$new_h;
  $ni=@imageCreateTrueColor($dstX,$dstY);
  @ImageCopyResampled($ni,$im,0,0,0,0,$dstX,$dstY,$srcW,$srcH);
  @ImageJpeg($ni,$dstFile,$quality);
  @imagedestroy($im);
  @imagedestroy($ni);
}
//ImageToJPG('源文件名','目标文件名',目标宽,目标高);
ImageToJPG('test2.png','test2.jpg',80,50);

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP的类 功能齐全的发送邮件类
Oct 09 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
PHP调用Linux的命令行执行文件压缩命令
Jan 27 PHP
php中get_headers函数的作用及用法的详细介绍
Apr 27 PHP
php读取mysql中文数据出现乱码的解决方法
Aug 16 PHP
PHP图片等比例缩放生成缩略图函数分享
Jun 10 PHP
php单态设计模式(单例模式)实例
Nov 18 PHP
php微信高级接口群发 多客服
Jun 23 PHP
php生成网页桌面快捷方式
May 05 PHP
php常用字符串查找函数strstr()与strpos()实例分析
Jun 21 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 29 PHP
php TP5框架生成二维码链接
Apr 01 PHP
PHP使用PDO抽象层获取查询结果的方法示例
May 10 #PHP
PHP分页显示的方法分析【附PHP通用分页类】
May 10 #PHP
ThinkPHP防止重复提交表单的方法实例分析
May 10 #PHP
PHP实现用户登录的案例代码
May 10 #PHP
yii2多图上传组件的使用教程
May 10 #PHP
PHP数组去重的更快实现方式分析
May 09 #PHP
PHP+MySQL实现消息队列的方法分析
May 09 #PHP
You might like
PHP动态变静态原理
2006/11/25 PHP
php利用单例模式实现日志处理类库
2014/02/10 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
jquery 上下滚动广告
2009/06/17 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
2015/11/11 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
2016/06/03 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
打造通用的匀速运动框架(实例讲解)
2017/10/17 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
如何用itertools解决无序排列组合的问题
2017/05/18 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
Python实现简单的文本相似度分析操作详解
2018/06/16 Python
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
群众路线批评与自我批评
2014/02/06 职场文书
《掌声》教学反思
2014/02/23 职场文书
事业单位绩效考核实施方案
2014/03/27 职场文书
购房意向书范本
2014/04/01 职场文书
小班下学期评语
2014/05/04 职场文书
2015年上半年党建工作总结
2015/03/30 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书