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 相关文章推荐
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
深入PHP内存相关的功能特性详解
Jun 08 PHP
Youku 视频绝对地址获取的方法详解
Jun 26 PHP
Linux下php5.4启动脚本
Aug 03 PHP
ucenter通信原理分析
Jan 09 PHP
PHPExcel内存泄漏问题解决方法
Jan 23 PHP
php+resumablejs实现的分块上传 断点续传功能示例
Apr 18 PHP
PHP数据分析引擎计算余弦相似度算法示例
Aug 08 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
Laravel中使用Queue的最基本操作教程
Dec 27 PHP
php解决安全问题的方法实例
Sep 19 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+JS实现搜索自动提示(实例)
2013/06/09 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
javascript删除option选项的多种方法总结
2013/11/22 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
详解Python中break语句的用法
2015/05/14 Python
python中偏函数partial用法实例分析
2015/07/08 Python
python制作一个桌面便签软件
2015/08/09 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
美国折扣网站:jClub
2017/08/07 全球购物
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
单位介绍信格式
2015/01/31 职场文书
财务稽核岗位职责
2015/04/13 职场文书
Mysql中调试存储过程最简单的方法
2021/06/30 MySQL
一文搞懂Java中的注解和反射
2022/06/21 Java/Android