PHP画像操作クラス

WBOY
WBOYオリジナル
2016-06-23 13:29:381122ブラウズ

ここでは、これまでに説明したさまざまな画像操作方法に基づいて、画像へのテキスト透かし、画像透かし、圧縮画像の追加など、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);	}}



著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。