PHP 输出头像到网页,按照输入的参数自动缩放图片
2013-04-26 16:13
691 查看
(转自本人百度空间)
很多网站的头像或者图片可以按照输入的参数进行调整。例如新浪微博,头像有180*180和50*50两种,在URL中修改相应的参数就可以获得不同大小的头像。我的实现方式有两种。
第一种是直接保存两种头像,然后根据输入的参数取得相应的头像即可。这种比较简单但是需要额外的存储开销,并且如果前端需要的头像大小比较多,还需要保存更多的图片。
第二种是只保存标准头像,根据输入的参数动态调整。
前端使用<img src="http://localhost/websit/index.php/test/ico/my_ico.jpg/100">就能显示出100*100的my_ico.jpg。如果最后的参数为50,则显示50*50的头像。
代码基于thinkphp,因为路径不是绝对路径,也相对更安全。
很多网站的头像或者图片可以按照输入的参数进行调整。例如新浪微博,头像有180*180和50*50两种,在URL中修改相应的参数就可以获得不同大小的头像。我的实现方式有两种。
第一种是直接保存两种头像,然后根据输入的参数取得相应的头像即可。这种比较简单但是需要额外的存储开销,并且如果前端需要的头像大小比较多,还需要保存更多的图片。
第二种是只保存标准头像,根据输入的参数动态调整。
class test{ function showIco(){ $zoomFactor = $_GET["_URL_"][3];//获得目标头像大小 $icoName = $_GET["_URL_"][2];//获得头像名称 if($zoomFactor>=150||$zoomFactor<=0)//参数过大或者过小都直接显示原图 $zoomFactor = 150; $icoPath = './uploads'; $imgSrc = $icoPath.$icoName;//获得文件路径+文件名 $openImg = fopen($imgSrc, "r"); $readImg = fread ($openImg, filesize($imgSrc));//将图片以文件流的形式读取出来 $userImg = imagecreatefromstring($readImg);//转换为图片 $imgSize = getimagesize($imgSrc);//获得原头像信息 $imgType = $imgSize['mime'];//获得图像类型信息 $imgWidth = $imgSize[0];//原头像宽度 $imgHeight = $imgSize[1];//原头像长度 $disImg = ImageCreateTrueColor($zoomFactor,$zoomFactor);//生成要输出的目标图像 ImageCopyResampled($disImg,$userImg,0,0,0,0,$zoomFactor,$zoomFactor,$imgWidth,$imgHeight);//按照要求的大小进行处理 header('Content-Type: '."$imgType");//不同类型的图片不同处理 if($imgType = 'image/gif') imagegif($disImg); elseif($imgType = 'image/png') imagepng($disImg); else imagejpeg($disImg); } }
前端使用<img src="http://localhost/websit/index.php/test/ico/my_ico.jpg/100">就能显示出100*100的my_ico.jpg。如果最后的参数为50,则显示50*50的头像。
代码基于thinkphp,因为路径不是绝对路径,也相对更安全。
相关文章推荐
- php图片加水印,切头像图和自动缩放
- 以图片的中心为基准,按照任意尺寸自动调整大小并截取出规定的素材,保存为缩略图或以php形式输出为图片
- java 裁剪图片 参数 宽 高 自动按照比例来剪切
- html 网页背景图片根据屏幕大小CSS自动缩放
- php批量缩放图片的代码[ini参数控制]
- java 裁剪图片 参数 宽 高 自动按照比例来剪切
- 数据按照十六进制文本输入,可自动调节输出宽度
- 【PHP】图片输出的网页访问量计数器
- java 缩放图片并输出,支持 jpg 和 png 输入及同类型输出
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- php等比缩放输出图片
- 图片按比例缩放,可输入参数设定初始大小
- php 调用sqlsrv存储过程含输入和输出参数,亲测第二种输出很有效
- 一个可以使得上传的图片大小按照指定的宽度,高度自动按比例进行缩放的函数(C#)
- 图片按比例缩放,可输入参数设定初始大小
- php调用sqlserver存储过程实例,带输入输出参数,经测试可用
- php批量缩放图片的代码[ini参数控制]
- php网页显示正方形图片缩略图
- 按比例自动缩放图片的大小
- Oracle带输入输出参数存储过程(包括sql分页功能)