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 相关文章推荐
用文本文件实现的动态实时发布新闻的程序
Oct 09 PHP
Windows下XDebug 手工配置与使用说明
Jul 11 PHP
openPNE常用方法分享
Nov 29 PHP
Ajax+PHP快速上手及简单应用说明
Jul 24 PHP
又十个超级有用的PHP代码片段
Sep 24 PHP
php制作简单模版引擎
Apr 07 PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 PHP
PHP数组生成XML格式数据的封装类实例
Nov 10 PHP
laravel配置Redis多个库的实现方法
Apr 10 PHP
PHP实现网站应用微信登录功能详解
Apr 11 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
Sep 16 PHP
PHP时间类完整代码实例
Feb 26 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.ini 中文版
2006/10/28 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
js类型检查实现代码
2010/10/29 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
Ant Design Pro 下实现文件下载的实现代码
2019/12/03 Javascript
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
简洁的十分钟Python入门教程
2015/04/03 Python
Python3访问并下载网页内容的方法
2015/07/28 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
浅析Python3 pip换源问题
2020/01/06 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
python利用google翻译方法实例(翻译字幕文件)
2020/09/21 Python
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
SQL数据库笔试题
2016/03/08 面试题
J2EE模式面试题
2016/10/11 面试题
写好自荐信要注意的问题
2013/11/10 职场文书
应用数学自荐书范文
2013/11/24 职场文书
《荷花》教学反思
2014/04/16 职场文书
通信工程求职信
2014/07/16 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
房屋认购协议书
2015/01/29 职场文书
幼儿园六一儿童节开幕词
2016/03/04 职场文书
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
2022/08/14 MySQL