<?php
header('Content-type:text/html;charset=utf-8');
//制作缩略图
function thumb($d_w,$d_h,$src){
//创建画布
$dstImg = imagecreatetruecolor($d_w, $d_h);
//分配背景色
$bgColor = imagecolorallocate($dstImg, 255, 255, 255);
//填充背景色
imagefill($dstImg, 0, 0, $bgColor);
//获取图片的宽高
$info = getimagesize($src);
$src_w = $info[0];
$src_h = $info[1];
//创建图片画布
//创建图片画布函数
function imagecreatefromtype($imagefile){
$info = getimagesize($imagefile);
switch ($info['mime']) {
case 'image/jpeg':
return imagecreatefromjpeg($imagefile);
break;
case 'image/png':
return imagecreatefrompng($imagefile);
break;
case 'image/gif':
return imagecreatefromgif($imagefile);
break;
}
}
$srcImg = imagecreatefromtype($src);
//计算缩放的图片宽高
$f_h = $d_h;
$f_w = $d_h*$src_w/$src_h;
if ($f_w > $d_w) {
$f_w = $d_w;
$f_h = $f_w*$src_h/$src_w;
}
//图片居中:计算$srcImg在$dstImg上所放置符起点位置;
$pos_x = ($d_w - $f_w)/2;
$pos_y = ($d_h - $f_h)/2;
//采样合并
imagecopyresampled($dstImg, $srcImg, $pos_x, $pos_y, 0, 0, $f_w, $f_h, $src_w, $src_h);
//显示画布
header('content-type:image/jpeg');
imagejpeg($dstImg);
}
//调用制作缩略图函数
$d_w = 100;
$d_h = 100;
$src = 'bg.jpg';
thumb($d_w,$d_h,$src);
效果图