php修改图片尺寸

png图片

function imageResizer($url, $width, $height) {
	$image = imagecreatefrompng($url);
	$width_orig = imagesx($image);  
	$height_orig = imagesy($image); 
	$ratio_orig = $width_orig/$height_orig;

	if ($width/$height > $ratio_orig) {
		$width = floor($height*$ratio_orig);
	} else {
		$height = floor($width/$ratio_orig);
	}
	$image_p = @imagecreate($width, $height)or die("Cannot Initialize new GD image stream");

	$alpha = imagecolorallocatealpha($image_p, 0, 0, 0, 127);
	//为一幅图像分配颜色 + alpha
	//int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )
	//imagecolorallocatealpha() 的行为和 imagecolorallocate() 相同,但多了一个额外的透明度参数 alpha,其值从 0 到 127。0 表示完全不透明,127 表示完全透明。如果分配失败则返回 FALSE。
	imagefill($image_p, 0, 0, $alpha);
	
	$aa=imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
	imagesavealpha($image_p, true);
	header('Content-type: image/png');
	imagepng($image_p,"2.png");//输出到图片文件2.png
}

imageResizer("1.png", 100, 20);


JPEG图片

function imageResizer($url, $width, $height) {
	list($width_orig, $height_orig) = getimagesize($url);
	$ratio_orig = $width_orig/$height_orig;
	if ($width/$height > $ratio_orig) {
		$width = $height*$ratio_orig;
	} else {
		$height = $width/$ratio_orig;
	}
	// 重新取样
	$image_p = imagecreatetruecolor($width, $height);
	$image = imagecreatefromjpeg($url);
	imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
	// 输出
	header('Content-type: image/jpeg');
	imagejpeg($image_p, "2.jpg", 100);
}

imageResizer("1.jpg", 100, 200);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值