- <?php
- class 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);
- }
- }
来源: http://www.phpxs.com/code/1002934/