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世纪万年历
Dec 06 PHP
开发大型 PHP 项目的方法
Jan 02 PHP
PHP array操作10个小技巧分享
Jun 23 PHP
Smarty模板学习笔记之Smarty简介
May 20 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
Dec 04 PHP
PHP 正则表达式小结
Feb 12 PHP
php生成图片验证码-附五种验证码
Aug 19 PHP
PHP常用工具类大全附全部代码下载
Dec 07 PHP
php排序算法实例分析
Oct 17 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
php进行md5加密简单实例方法
Sep 19 PHP
解决laravel5.4下的group by报错的问题
Oct 16 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/11/27 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
json 定义
2008/06/10 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
详细分析JavaScript函数定义
2015/07/16 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
2018/09/28 Javascript
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
在Vue环境下利用worker运行interval计时器的步骤
2019/08/01 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
python中json格式数据输出的简单实现方法
2016/10/31 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
社会学专业学生职业规划书
2014/02/07 职场文书
超市创业计划书
2014/04/24 职场文书
毕业论文评语大全
2014/04/29 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
个人工作表现评价材料
2014/09/21 职场文书
缓刑人员思想汇报
2014/10/11 职场文书
营业员岗位职责
2015/02/11 职场文书
未婚证明范本
2015/06/15 职场文书
科级干部培训心得体会
2016/01/06 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
Go语言grpc和protobuf
2022/04/13 Golang