php使用GD库实现文字图片水印及缩略图教程
缩略图可以通过gd库来实现,下面我们一起来看一个简单的php使用GD库实现文字图片水印及缩略图例子,希望此例子能够为大家带来有效的帮助.
我们要使用gd库就必须先打开gd库,具体如下.
Windows下开启PHP的GD库支持.
找到php.ini,打开内容,找到:
;extension=php_gd2.dll
把最前面的分号“;”去掉,再保存即可,如果本来就没有分号,那就是已经开启了.
一:添加文字水印,使用方法.
- require 'image.class.php'
- $src="001.jpg";
- $content="hello";
- $font_url="my.ttf";
- $size=20;
- $image=new Image($src);
- $color=array(
- 0=>255,
- 1=>255,
- 2=>255,
- 2=>20
- );
- $local=array(
- 'x'=>20,
- 'y'=>30
- );
- $angle=10;
- $image->fontMark($content,$font_url,$size,$color,$local,$angle);
- $image->show();
二:图片缩略图,使用方法:
- require 'image.class.php'
- $src="001.jpg";
- $image=new Image($src);
- $image->thumb(300,200);
- $image->show();
三:image.class.php
- class image{
- private $info;
- private $image;
- public function __contruct($src){
- $info= getimagesize($src);
- $this->info=array(
- 'width'=> $info[0],
- 'height'=>$info[1],
- 'type'=>image_type_to_extension($info[2],false),
- 'mime'=>$info['mime'],
- );
- $fun="imagecreatefrom{$this->info['type']}";
- $this->image= $fun($src);
- }
- //缩略图
- public function thumd($width,$height){
- $image_thumb= imagecreatetruecolor($width,$height);
- imagecopyresampled($image_thumb,$this->image,0,0,0,0,$width,$height,$this->info['width'],$this->info['height']);
- imagedestroy($this->image);
- $this->image=$image_thumb;
- }
- //文字水印
- public function fontMark($content,$font_url,$size,$color,$local,$angle){
- $col=imagecolorallocatealpha($this->image,$color[0],$color[1],$color[2],$color[3]);
- $text=imagettftext($this->image,$size,$angle,$local['x'],$local['y'],$col,$font_url,$content);
- }
- //输出图片
- public function show()
- {
- header("Content-type:",$this->info['mime']);
- $func="image{$this->info['type']}";
- $func($this->image);
- }
- public function save($nwename){
- $func="image{$this->info['type']}";
- //从内存中取出图片显示
- $func($this->image);
- //保存图片
- $func($this->image,$nwename.$this->info['type']);
- //phpfensi.com
- }
- public function _destruct(){
- imagedestroy($this->image);
- }
- }