Heim >Backend-Entwicklung >PHP-Tutorial >PHP图像操作类

PHP图像操作类

WBOY
WBOYOriginal
2016-06-23 13:29:381122Durchsuche

基于已给出的各种图像操作方法,这里我总结出了PHP图像操作的一个类,包括给图像添加文字水印、图像水印和压缩图片。读者可自行添加功能。

<?phpclass Image {	private $info;	private $type;	private $iamge;	/**	* 打开图片,写入内存	*	**/	public function __construct($src) 	{		$this->info = getimagesize($src);		$this->type = image_type_to_extension($this->info[2],false);		$fun = "imagecreatefrom".$this->type;		$this->image = $fun($src);	}	//缩略图	public function thumb($width, $height)	{		$image_thumb = imagecreatetruecolor($width, $height);		imagecopyresampled($image_thumb, $this->image, 0, 0, 0, 0, $width, $height, $this->info[0], $this->info[1]);		imagedestroy($this->image);		$this->image = $image_thumb;	}	//文字水印	public function fontMark($content, $fontUrl, $size, $color, $locate=array('x'=>0,'y'=>0), $angle=0)	{		$color = imagecolorallocatealpha($this->image, $color[0], $color[1], $color[2], $color[3]);		imagettftext($this->image, $size, $angle, $locate['x'], $locate['y'], $color, $fontUrl, $content);	}	//图片水印	public function imageMark($src,$locate,$alpha)	{		$info2 = getimagesize($src);		$type2 = image_type_to_extension($info2[2],false);		$fun2 = "imagecreatefrom".$type2;		$water = $fun2($src);		imagecopymerge($this->image, $water, $locate['x'], $locate['y'], 0, 0, $info2[0], $info2[1], $alpha);		imagedestroy($water);	}	//在浏览器中显示	public function show()	{		header("Content-type:".$this->info['mime']);		$fun = "image".$this->type;		$fun($this->image);	}	//保存为文件	public function save($newname)	{		$fun = "image".$this->type;		$fun($this->image, $newname.'.'.$this->type);	}	public function __destruct()	{		imagedestroy($this->image);	}}



版权声明:本文为博主原创文章,未经博主允许不得转载。

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