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 相关文章推荐
php5中date()得出的时间为什么不是当前时间的解决方法
Jun 30 PHP
让PHP支持断点续传的源码
May 16 PHP
PHP几个数学计算的内部函数学习整理
Aug 06 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
Jul 03 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
Jul 05 PHP
关于php支持分块与断点续传文件下载功能代码
May 09 PHP
PHP实现生成唯一编号(36进制的不重复编号)
Jul 01 PHP
PHP单例模式详细介绍
Jul 01 PHP
PHP 数组遍历foreach语法结构及实例
Jun 13 PHP
简单谈谈 php 文件锁
Feb 19 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
php用xpath解析html的代码实例讲解
Feb 14 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
全国FM电台频率大全 - 2 天津市
2020/03/11 无线电
php5数字型字符串加解密代码
2008/04/24 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
popdiv
2006/07/14 Javascript
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
jquery text()要注意啦
2009/10/30 Javascript
javascript的offset、client、scroll使用方法详解
2012/12/25 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
2014/03/05 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
js css实现垂直方向自适应的三角提示菜单
2016/06/26 Javascript
Bootstrap插件全集
2016/07/18 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
Angular的事件和表单详解
2016/12/26 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
Python作用域用法实例详解
2016/03/15 Python
Python pandas用法最全整理
2019/08/04 Python
python统计指定目录内文件的代码行数
2019/09/19 Python
Python图像处理库PIL的ImageFilter模块使用介绍
2020/02/26 Python
旅游管理专业生自荐信范文
2014/01/02 职场文书
农林环境专业求职信
2014/03/13 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
个人年底工作总结
2015/03/10 职场文书
公司承诺书格式范文
2015/04/28 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
JavaScript实现登录窗体
2021/06/22 Javascript
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技