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中限制IP段访问、禁止IP提交表单的代码
Apr 23 PHP
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
Jul 01 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
php curl的深入解析
Jun 02 PHP
PHP结合Jquery和ajax实现瀑布流特效
Jan 07 PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 PHP
PHP动态生成指定大小随机图片的方法
Mar 25 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
Jun 06 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
关于laravel 日志写入失败问题汇总
Oct 17 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
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
php 判断数组是几维数组
2013/03/20 PHP
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
twig里使用js变量的方法
2016/02/05 PHP
php判断邮箱地址是否存在的方法
2016/02/13 PHP
PHP+Apache环境中如何隐藏Apache版本
2017/11/24 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
点击文章内容处弹出页面代码
2009/10/01 Javascript
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
验证码按回车不变解决方法
2013/03/29 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
2016/10/11 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
node.JS二进制操作模块buffer对象使用方法详解
2020/02/06 Javascript
vant中的toast层级改变操作
2020/11/04 Javascript
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
使用python 和 lint 删除项目无用资源的方法
2017/12/20 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
2016教师党员学习心得体会
2016/01/21 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书