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 删除cookie和浏览器重定向
Mar 16 PHP
PHP 数组基础知识小结
Aug 20 PHP
发一个php简单的伪原创程序,配合商城采集用的
Oct 12 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
php中spl_autoload详解
Oct 17 PHP
PHP简单生成缩略图相册的方法
Jul 29 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
May 20 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
laravel ajax curd 搜索登录判断功能的实现
Apr 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
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
2012/06/27 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
php中adodbzip类实例
2014/12/08 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
php进程间通讯实例分析
2016/07/11 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
2013/10/22 Javascript
js数组操作学习总结
2013/11/04 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
angular 数据绑定之[]和{{}}的区别
2018/09/25 Javascript
vue中img src 动态加载本地json的图片路径写法
2019/04/25 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
django从后台返回html代码的实例
2020/03/11 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
数控专业应届生求职信
2013/11/27 职场文书
教育学习自我评价
2014/02/03 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
python如何为list实现find方法
2022/05/30 Python
利用Apache Common将java对象池化的问题
2022/06/16 Servers