php gd库 缩小图片_【源码分享】PHP中GD库实现图片等比例缩放
//定义必备参数
$path = "./images";
$picname = "6.jpg";
$maxW = 200;
//指定要缩放到的宽度
$maxH = 200;
//指定要缩放到的高度
$pre = "s_";
//缩小之后的图像的前缀
// 准备画布、画笔、颜料
//格式化路径
$path = rtrim($path,"/")."/";
//获取图像的详细信息
$info = getimagesize($path.$picname);
//根据用户上传的图像,生成相对应类型的画布
switch($info[2]){
case 1:
//生成gif格式画布
$oldImg = imagecreatefromgif($path.$picname);
break;
case 2:
//生成jpg格式画布
$oldImg = imagecreatefromjpeg($path.$picname);
break;
case 3:
//生成png格式画布
$oldImg = imagecreatefrompng($path.$picname);
break;
}
//获取原图的宽高
$oldW = imagesx($oldImg);
$oldH = imagesy($oldImg);
//判断那个边比较长,利用较长的边求得比例
if($oldW>$oldH){
//求得比例
$b = $oldW/$maxW;
//获取缩放之后的宽高
$newW = $oldW/$b;
$newH = $oldH/$b;
}else{
//求得比例
$b = $oldH/$maxH;
//获取缩放之后的宽高
$newW = $oldW/$b;
$newH = $oldH/$b;
}
//根据缩放之后的宽高,生成指定大小的画布
$newImg = imagecreatetruecolor($newW,$newH);
// 开始绘画
//将原图缩放到新图当中
imagecopyresampled($newImg,$oldImg,0,0,0,0,$newW,$newH,$oldW,$oldH);
// 输出图像
//根据用户上传的图像的类型,进行输出或另存为
switch($info[2]){
case 1:
imagegif($newImg,$path.$pre.$picname);
break;
case 2:
imagejpeg($newImg,$path.$pre.$picname);
break;
case 3:
imagepng($newImg,$path.$pre.$picname);
break;
}
// 释放资源
imagedestroy($oldImg);
imagedestroy($newImg);
?>
本帖最后由 七彩极 于 2017-6-26 10:33 编辑
分享至:
php gd库 缩小图片_【源码分享】PHP中GD库实现图片等比例缩放相关推荐
- 仿QQ右下角弹窗新闻_源码分享
源码名称:仿QQ右下角弹窗新闻 源码作者:邓学彬(泪闯天涯) 开发环境:Visual Studio 2005 源码说明:Win32(SDK)开发,自绘实现,支持多种皮肤风格.无需其他界面库. 美中不 ...
- java商品信息管理系统代码_[源码分享]学生信息管理系统(管理员)
我一直以为学生信息管理系统是烂大街的,网上一搜一大把的那种 毕竟这种项目是学完C语言之后都可以独立完成的项目,只有界面好看与否的问题 最近好多学生问学生信息管理系统的代码,估计是C语言大作业什么的.然 ...
- 集合的get方法中参数从多少开始_源码分析CopyOnWriteArrayList 中的隐藏知识,你Get了吗?...
欢迎点击 "未读代码" ,关注公众号,文章每周更新 杭州-阿里园区墙 前言 本觉 CopyOnWriteArrayList 过于简单,寻思看名字就能知道内部的实现逻辑,所以没有写这 ...
- 基于SpringBoot健身房管理系统_计算机毕业设计_源码分享
本次推荐的是健身房管理系统,此系统包含了会员管理.教练管理.课程管理.器材管理.物品遗失管理.商品管理以及信息统计等七大功能模块.项目文件结构完整,代码条理清晰.非常适合学习仿写以及二次开发.图片以及 ...
- java凭证加盖电子印章_源码分享:在pdf上加盖电子签章
publicvoidsign(Stringsrc/ /需要签章的pdf文件路径 ,Stringdest/ / 签完章的pdf文件路径 ,ImageDataimg/ / 印章图片 ,intpageNum ...
- java制作超炫流星雨表白_[源码分享]C语言浪漫流星雨表白程序!
01 编码过程设置星星的属性,初始化星星,画星星,进行星星的移动 设置流星的属性,初始化流星 初始化加载数据,通过贴图来画流星,进行流星的移动 设置表白文字 主函数设置数组,加载界面 02 效果展示 ...
- JSP 160套_毕业设计_源码分享
需要的来下载,已分享 链接:https://pan.baidu.com/s/1UGRjxcMd7-5ed38qtGM3rg 提取码:nz0q 复制这段内容后打开百度网盘手机App,操作更方便哦–来自百 ...
- GoLang之标准库net/http包源码
GoLang之标准库net/http包源码 目录 GoLang之标准库net/http包源码 1.net/http包介绍 2.http.ListenAndServe函数 3.http.Handle函数 ...
- 一般源码安装添加的GD库 是不支持 jpeg 格式的图片的
一般源码安装添加的GD库 是不支持 jpeg 格式的图片的,只支持如下格式 GD Support enabled GD Version bundled (2.0.34 compatible) GI ...
- 从源码分析Android的Glide库的图片加载流程及特点
转载:http://m.aspku.com/view-141093.html 这篇文章主要介绍了从源码分析Android的Glide库的图片加载流程及特点,Glide库是Android下一款人气很高的 ...
最新文章
- centos 重装 php5,centos6.6学习笔记:安装PHP5.5
- 2020边缘计算状态报告:2028年企业IT基础设施边缘支出将达87亿美元
- php dump utfp,php pchart乱码-使用REST接口获取GeoServer中的...-结合 thinkPHP 分页写成自己分页类_169IT.COM...
- crash recovery mysql_InnoDB crash recovery 完整过程
- 富文本编辑器:Typora(编辑与预览一体化)
- iOS App 崩溃报告符号化,.ips崩溃报告文件分析
- c语言打程序时会遇到什么问题,Sublime text3 实现C语言编译运行以及过程中可能遇到的问题...
- three.js 求两个vector3 的夹角_初中数学:动点问题-阿氏圆最值模型(2),求PD-1/2PC的最大值...
- Oracle12C 怎样导入scott用户
- python对象_Python对象()
- 中央企业经营管理一体化总体框架
- 在Linux下用sopcast/qsopcast收看网络电视
- 微信小程序 实现上拉加载
- 构建模型——用Python构建logit、负二项回归、决策树与随机森林机器学习模型
- (原创)暴力破解西电校园网密码
- 遨博机械臂——末端工具ROS驱动
- 罗杰斯:不看好房地产股票 最佳投资是大宗商品
- 2022年继续乘风破浪
- ESP32 / ESP8266 RGB LED灯带配颜色选择器Web服务器
- Android 高仿美团外卖详情页
热门文章
- Java反射使用的Field类介绍
- python隐藏手机号码程序_Python网站手机号码解密的一种方法
- Remote Dictionary Server(Redis)——基于 KV 结构的作为 Cache 使用的 NoSQL 数据库管理系统
- 二本计算机类专业农村学生出路,农村“二本”大学生有哪些出路?主要出路有四条,第2条可逆袭...
- 计算机科学与技术500分左右的大学,全国所有500分左右的211大学
- ~2 ccf 2022-03-1 未初始化警告
- java洁癖_如何平衡代码洁癖和项目进度?
- Zbrush究竟是个什么软件?带你看看ZB的世界
- 空气动力研究与发展中心计算机所,中国空气动力研究与发展中心报告.pdf
- 无符号数与带符号数的相加减