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中使用模板的方法
May 24 PHP
ecshop 批量上传(加入自定义属性)
Mar 20 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 PHP
解析zend Framework如何自动加载类
Jun 28 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
php防止网站被刷新的方法汇总
Dec 01 PHP
php写入、删除与复制文件的方法
Jun 20 PHP
php将一维数组转换为每3个连续值组成的二维数组
May 06 PHP
php7 安装yar 生成docker镜像
May 09 PHP
yii2实现Ueditor百度编辑器的示例代码
Nov 02 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
Jul 26 PHP
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
Apr 01 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
DC动漫人物排行
2020/03/03 欧美动漫
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
php 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
删除重复数据的算法
2006/11/23 Javascript
js 控制页面跳转的5种方法
2013/09/09 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
[01:19:46]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第一场 2月28日
2021/03/11 DOTA
python修改字典内key对应值的方法
2015/07/11 Python
Python反射用法实例简析
2017/12/22 Python
python测试mysql写入性能完整实例
2018/01/18 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
html5 canvas绘制放射性渐变色效果
2018/01/04 HTML / CSS
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
感恩节活动方案
2014/01/27 职场文书
信息专业毕业生五年职业规划参考
2014/02/06 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
上海世博会志愿者口号
2014/06/17 职场文书
计生个人工作总结
2015/02/28 职场文书
简单的辞职信模板
2015/05/12 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python