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 EOT定界符的使用详解
Sep 30 PHP
DedeCMS dede_channeltype表字段注释
Apr 07 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
Jul 22 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
Aug 23 PHP
PHP访问Google Search API的方法
Mar 05 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
Nov 20 PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 09 PHP
Laravel中服务提供者和门面模式的入门介绍
Nov 06 PHP
用php定义一个数组最简单的方法
Oct 04 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语法自动检查的Vim插件
2014/08/11 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
传智播客学习之java 反射
2009/11/22 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
2012/02/03 Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
小程序云开发实战小结
2018/10/25 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
Python中for循环控制语句用法实例
2015/06/02 Python
python实现自动重启本程序的方法
2015/07/09 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
使用requests库制作Python爬虫
2018/03/25 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
PHP如何调用MYSQL存储过程
2014/05/30 面试题
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
元旦晚会邀请函
2014/01/27 职场文书
三方协议书范本
2014/04/22 职场文书
质量承诺书格式
2014/05/20 职场文书
小学竞选班干部演讲稿
2014/08/20 职场文书
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL