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 数组入门教程小结
May 20 PHP
php页面缓存ob系列函数介绍
Oct 18 PHP
ThinkPHP3.1新特性之G方法的使用
Jun 19 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
php微信公众平台开发之获取用户基本信息
Aug 17 PHP
Symfony控制层深入详解
Mar 17 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
PHP实现的装箱算法示例
Jun 23 PHP
php中如何执行linux命令详解
Nov 06 PHP
浅谈PHP array_search 和 in_array 函数效率问题
Oct 15 PHP
php的RSA加密解密算法原理与用法分析
Jan 23 PHP
PHP中国际化的字符串排序和比较对象详解
Aug 23 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实现微信公众平台账号自定义菜单类
2015/10/11 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
2017/02/08 PHP
PHP使用ActiveMQ实例
2018/02/05 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
jquery 图片轮换效果
2010/07/29 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
js数组的操作指南
2014/12/28 Javascript
javascript查询字符串参数的方法
2015/01/28 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
Vue实现购物车功能
2017/04/27 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
Python多线程原理与用法详解
2018/08/20 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
2019/06/17 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
Python Process多进程实现过程
2019/10/22 Python
python实现简单的tcp 文件下载
2020/09/16 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
大专自我鉴定范文
2013/10/01 职场文书
小学生新年寄语
2014/04/03 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
个人求职信格式范文
2015/03/20 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
2015年安全月活动总结
2015/03/26 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
python ConfigParser库的使用及遇到的坑
2022/02/12 Python