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来实现网络服务
Sep 15 PHP
php网站来路获取代码(针对搜索引擎)
Jun 08 PHP
求PHP数组最大值,最小值的代码
Oct 31 PHP
基于PHP静态类的原罪详解
May 06 PHP
Memcached常用命令以及使用说明详解
Jun 27 PHP
zf框架db类的分页示例分享
Mar 14 PHP
php结合ajax实现赞、顶、踩功能实例
May 12 PHP
PHP间隔一段时间执行代码的方法
Dec 02 PHP
ThinkPHP模版引擎之变量输出详解
Dec 05 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
Nov 25 PHP
thinkphp框架类库扩展操作示例
Nov 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版本号
2006/10/09 PHP
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
brook javascript框架介绍
2011/10/10 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
2015/11/30 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
深入理解JS继承和原型链的问题
2016/12/17 Javascript
基于jQuery实现弹幕APP
2017/02/10 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
2018/08/09 jQuery
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
vue中使用vue-print.js实现多页打印
2020/03/05 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
[00:17]游戏风云独家报道:DD赛后说出数字秘密 吓死你们啊!
2014/07/13 DOTA
c++生成dll使用python调用dll的方法
2014/01/20 Python
python的类方法和静态方法
2014/12/13 Python
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
python如何实现int函数的方法示例
2018/02/19 Python
python实现日志按天分割
2019/07/22 Python
Python修改列表值问题解决方案
2020/03/06 Python
利用css3如何设置没有上下边的列表间隔线
2017/07/03 HTML / CSS
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
简历上的自我评价怎么写
2014/01/28 职场文书
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
电子信息工程自荐信
2014/05/26 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
四风查摆剖析材料
2014/10/10 职场文书
毕业论文致谢格式模板
2015/05/14 职场文书
家长会开场白和结束语
2015/05/29 职场文书
HTML基础详解(上)
2021/10/16 HTML / CSS