使用php制作缩略图

<?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);

效果图在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值