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 smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
Mar 26 PHP
解析curl提交GET,POST,Cookie的简单方法
Jun 29 PHP
php实现比较两个文件夹异同的方法
Jun 18 PHP
php创建无限级树型菜单
Nov 05 PHP
验证坐标在某坐标区域内php代码
Oct 08 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 09 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
Sep 30 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
Oct 10 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 PHP
Laravel基础_关于view共享数据的示例讲解
Oct 14 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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
Php部分常见问题总结
2006/10/09 PHP
PHP之COOKIE支持详解
2010/09/20 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
PHP针对JSON操作实例分析
2015/01/12 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
ES6中Class类的静态方法实例小结
2017/10/28 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
[01:02:47]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
python列表操作使用示例分享
2014/02/21 Python
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
Python图算法实例分析
2016/08/13 Python
Python 基础教程之包和类的用法
2017/02/23 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
毕业生自荐书
2014/02/03 职场文书
不打扫卫生检讨书
2014/02/12 职场文书
社区矫正工作方案
2014/06/04 职场文书
电影焦裕禄观后感
2015/06/09 职场文书
Go timer如何调度
2021/06/09 Golang
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫