Heim >Backend-Entwicklung >PHP-Tutorial >PHP生成图片缩略图,并在浏览器中显示,灵活,实用

PHP生成图片缩略图,并在浏览器中显示,灵活,实用

WBOY
WBOYOriginal
2016-07-29 09:01:221149Durchsuche

由于个人需要上传图片至网站相册,并以缩略图的形式显示,百度了很多源码屡试屡败,自己写了一个函数,已成功运行。缩略图在浏览器中的显示方法是将图片的 src 地址指向一个PHP文件,来调用此函数即可显示。

/**
 *  _thumb()生成缩略图的函数
 */

function _thumb($_filename,$_max_size){  //(图片源地址,最大宽or高)
	//获取文件后缀
	$_n = explode('.', $_filename);
	//生成png表头文件
	header('Content-type:image/png');
	//获取文件的长和高
	list($_width,$_height) = getimagesize($_filename);
	//生成微缩的长和高
	$_percent = $_max_size / (($_width > $_height) ? $_width:$_height);
	$_new_width = $_width * $_percent;
	$_new_height = $_height * $_percent;
	//创建一个微缩画布
	$_new_image = imagecreatetruecolor($_new_width, $_new_height);
	//按照已有的图片创建一个画布
	switch ($_n[1]) {
		case 'jpg':
			$_image = imagecreatefromjpeg($_filename);
			break;
		case 'png':
			$_image = imagecreatefrompng($_filename);
			break;
		case 'gif':
			$_image = imagecreatefromgif($_filename);
			break;
	}
	//将原图采集后重新复制到图上,就缩略了
	imagecopyresampled($_new_image, $_image, 0,0,0,0, $_new_width, $_new_height, $_width, $_height);
	imagepng($_new_image);
	imagedestroy($_new_image);
	imagedestroy($_image);
}

以上就介绍了PHP生成图片缩略图,并在浏览器中显示,灵活,实用,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn