<?php
class ThumbTool
{
public static function make_thumb($path,$width=200,$height=200){
//取得图片的 属性
$imgarr=getimagesize($path);
//取得图片中的格式
$img=str_replace("image/","",$imgarr["mime"]);
//构建创建素材原话画布 的变量
$createTmage="imagecreatefrom".$img;
//创建原画布
$srcimg=$createTmage($path);
//创建目标画布
$dstimg=imagecreatetruecolor($width,$height);
//在拷贝之前 求最终的目标大小和位置
//取得原图的宽和高
$srcWidth=$imgarr[0];
$srcHeight=$imgarr[1];
//求较大的比例
$bili=$srcWidth/$width>$srcHeight/$height?$srcWidth/$width:$srcHeight/$height;
//求取目标的大小
$dstWidth=$srcWidth/$bili;
$dstHight=$srcHeight/$bili;
//求得拷贝的位置 缩略图 等比例缩放并居中
$x1=($width-$dstWidth)/2;
$y1=($height-$dstHight)/2;
//创建一个白色 补在拷贝之前
$white=imagecolorallocate($dstimg,255,255,255);
imagefill($dstimg,0,0,$white);
//拷贝图片
imagecopyresampled($dstimg,$srcimg,$x1,$y1,0,0,$dstWidth,$dstHight,$srcWidth,$srcHeight);
//取出扩展名
$ext=strrchr($path,".");
//构建缩略图的名字
$name=uniqid("thumb_").$ext;
//输出图片
$saveImg=str_replace("/","",$imgarr["mime"]);
//保存图片iamgejpeg()
$saveImg($dstimg,UPLOADS_PATH.$name);
//释放资源
imagedestroy($srcimg);
imagedestroy($dstimg);
return $name;
}
}
php 一个自动生成缩略图的工具类
猜你喜欢
转载自blog.csdn.net/qq_37138818/article/details/81095648
今日推荐
周排行