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+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
php session安全问题分析
Jun 24 PHP
php 目录遍历、删除 函数的使用介绍
Apr 28 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 PHP
php读取远程gzip压缩网页的方法
Dec 29 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
Feb 09 PHP
PHP实现文件上传功能实例代码
May 18 PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 PHP
PHP PDOStatement::bindColumn讲解
Jan 30 PHP
PHP进阶学习之依赖注入与Ioc容器详解
Jun 19 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 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/12/06 PHP
在PHP中读取和写入WORD文档的代码
2008/04/09 PHP
php 删除无限级目录与文件代码共享
2008/11/22 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
PHP将XML转数组过程详解
2013/11/13 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
JavaScript中的事件处理
2008/01/16 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
JavaScript简介
2015/02/15 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
python单元测试unittest实例详解
2015/05/11 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
解决使用export_graphviz可视化树报错的问题
2019/08/09 Python
python带参数打包exe及调用方式
2019/12/21 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
优质服务演讲稿
2014/05/14 职场文书
建筑投标担保书
2014/05/20 职场文书
党员志愿者活动总结
2014/06/26 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
平面设计专业求职信
2014/08/09 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
保险公司增员口号
2015/12/25 职场文书
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python
Python读写yaml文件
2022/03/20 Python