为了账号安全,请及时绑定邮箱和手机立即绑定

GD库实现图片水印与缩略图

难度初级
时长 1小时41分
学习人数
综合评分9.77
106人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.8 逻辑清晰
  • $src="gd_01.jpeg"; $info=getimagesize($src); $type=image_type_to_extension($info[2],false); $fun="imagecreatefrom{$type}"; $image=$fun($type);
    查看全部
  • <?php /*打开图片*/ $src='gd_01.jpeg'; $info=getimagesize($src); //echo '<pre>'; //print_r($info); /*$info Array ( [0] => 640 索引 0 包含图像宽度的像素值 [1] => 856 索引 1 包含图像高度的像素值 [2] => 2 索引 2 是图像类型的标记:1 = GIF,2 = JPG,3 = PNG, [3] => width="640" height="856" [bits] => 8 [channels] => 3 [mime] => image/jpeg ) */ $type=image_type_to_extension($info['2'],false); $fun="imagecreatefrom{$type}"; $image=$fun($src); /*操作图片*/ $font='msyhbd.ttf'; $content='hello PHP'; $color=imagecolorallocatealpha($image, 255, 255, 255, 50);//设置字体颜色和透明度 imagettftext($image, 20, 0, 20, 30, $color, $font, $content); /*s输出图片*/ //浏览器输出 header("content-type:".$info['mime']); $func="image{$type}"; $func($image); //保存图片 $type01=image_type_to_extension($info['2']); $func($image,newimage.$type01); /*销毁图片*/ imagedestory();
    查看全部
  • 打开图片要进行的操作: 1.配置要处理的图片路径 2.获取图片信息:getimagesize() 3.通过图像编号来获取图片类型image_type_to_extension() 4.在内存中创建一个和图片类型一样的图片imagecreatefrom{$type}
    查看全部
  • <?php //打开图片 $src="./images/001.jpg"; $info = getimagesize($src); $type = image_type_to_extension($info[2],false); $image= imagecreatefromjpeg($src); $font = "./images/AdobeKaitiStd-Regular.otf"; $content = "哈喽"; $col=imagecolorallocatealpha($image,255,255,50); imagettftext($image,20,0,20,30,$col,$font,$content); header("Content-type:".$info['mime']); imagejpeg($image); imagejpeg($image,"newige.jpg"); //操作图片 //输出图片 //销毁图片 ?>
    查看全部
  • image.class.php //封装成类————添加图片水印(操作图片) public function imageMark($source,$local,$alpha){ $info2 = getimagesize($source); $type2 = image_type_to_extension($info2[2],false); $fun2 = "imagecreatefrom{$type2}"; $water = $fun2($source); imagecopymerge($this->image,$water,$local['x'],$local['y'],0,0,$info2[0],$info2[1],$alpha); imagedestroy($water); } test.php <?php require "image.class.php"; $src = "yellow.jpg"; //添加图片水印 $source = 'weixin.png'; $local = array( 'x' => 20, 'y' => 50 ); $alpha = 30; $image = new Image($src); //$image->thumb(300,150);//压缩图片 //$image->fontMark($content,$font_url,$size,$color,$local,$angle);//文字水印 $image->imageMark($source,$local,$alpha);//图片水印 $image->show(); //$image->save("fontMark");//保存文字水印图片 ?>
    查看全部
  • image.class.php //封装成类————添加文字水印(操作图片) public function fontMark($content,$font_url,$size,$color,$local,$angle){ $col = imagecolorallocatealpha($this->image, $color[0], $color[1], $color[2], $color[3]); imagettftext($this->image, $size, $angle, $local['x'], $local['y'], $col, $font_url, $content); } test.php <?php require "image.class.php"; $src = "yellow.jpg"; $content = 'moe1010'; $font_url = 'msyh.ttf'; $size = 20; $color = array( 0 => 255, 1 => 255, 2 => 255, 3 => 20 ); $local = array( 'x' => 20, 'y' => 50 ); $angle = 10; $image = new Image($src); //$image->thumb(300,150); $image->fontMark($content,$font_url,$size,$color,$local,$angle); $image->show(); $image->save("fontMark"); ?>
    查看全部
  • test.php <?php require "image.class.php"; $src = "yellow.jpg"; $image = new Image($src); $image->thumb(300,150); $image->show(); ?>
    查看全部
  • //封装成类-压缩图片 class Image{ private $image; private $info; //1.打开一张图片,读取到内存中 public function __construct($src){ $info = getimagesize($src);//获取图片信息放在$info里 $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); } //2.操作图片(压缩) public function thumb($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;} //3.在浏览器中输出图片 public function show(){ header("Content-type:".$this->info['mime']); $funs = "image{$this->info['type']}"; $funs($this->image);} //4.把图片保存到硬盘里 public function save($newname){ $funs = "image{$this->info['type']}"; $funs($this->image,$newname.'.'.$this->info['type']);} //5.销毁图片 public function __destruct(){ imagedestroy($this->image);}}
    查看全部
  • //3.输出图片 //3.1把图片输出到浏览器 header("Content-type:".$info['mime']);//告诉浏览器输出的内容是图片。mime:类型 $funs = "image{$type}";//这样就能实现不同图片调用不同函数 $funs($image_thumb); //3.2保存图片 $funs($image_thumb,'thumbyellow.'.$type); //4.销毁图片 imagedestroy($image_thumb);
    查看全部
  • //2.操作图片 //2.1在内存中建立一个宽300,高200的真色彩图片 $image_thumb = imagecreatetruecolor(300,200); //2.2核心步骤:将原图复制到新建的真色彩图片上,并且按照一定比例压缩 imagecopyresampled($image_thumb,$image,0,0,0,0,300,200,$info[0],$info[1]); //3.销毁原始图片 imagedestroy($image);
    查看全部
  • //GD库:生成图片缩略图 //1.打开图片 //1.1配置图片路径(就是你想要操作的图片的路径) $src = "yellow.jpg"; //1.2获取图片的基本信息(通过GD库提供的方法,得到你想要处理的图片的基本信息) $info = getimagesize($src);//把图片的基本信息赋值给$info变量。 /*echo "<pre>";//能让打印效果更好看 print_r($info);*/ //1.3通过图像的编号来获取图像的类型 $type = image_type_to_extension($info[2],false);//不需要.加一个false参数 //print_r($type);//打印结果为jpeg //1.4在内存中创建一个和我们图像类型一样的图像 $fun = "imagecreatefrom{$type}"; //1.5把要操作的图片复制到内存中 $image = $fun($src);
    查看全部
  • //3.输出图片 //3.1浏览器输出 //ob_clean();//清空(擦掉)输出缓冲区 header("Content-type:".$info['mime']);//告诉浏览器输出的内容是图片。mime:类型 $funs = "image{$type}";//这样就能实现不同图片调用不同函数 $funs($image); //3.2保存图片 $funs($image,'wateryellow.'.$type); //4.销毁图片:清理掉内存中的图片副本,释放内存。 imagedestroy($image);
    查看全部
  • //2.操作图片 //2.1设置水印路径 $image_Mark = "weixin.png"; //2.2获取水印图片的基本信息 $info2 = getimagesize($image_Mark); //2.3通过水印的图像编号来获取水印的图片类型 $type2 = image_type_to_extension($info2[2],false); //2.4在内存中创建一个和我们水印图像一致的图像类型 $fun2 = "imagecreatefrom{$type2}"; //2.5把水印图片复制到内存中 $water = $fun2($image_Mark); //2.6合并图片 imagecopymerge($image,$water,20,30,0,0,$info2[0],$info2[1],30); //2.7销毁水印图片 imagedestroy($water);
    查看全部
  • //GD库:给图片添加图片水印 //1.打开图片 //1.1配置图片路径(就是你想要操作的图片的路径) $src = "yellow.jpg"; //1.2获取图片的基本信息(通过GD库提供的方法,得到你想要处理的图片的基本信息) $info = getimagesize($src);//把图片的基本信息赋值给$info变量。 /*echo "<pre>";//能让打印效果更好看 print_r($info);*/ //1.3通过图像的编号来获取图像的类型 $type = image_type_to_extension($info[2],false);//不需要.加一个false参数 //print_r($type);//打印结果为jpeg //1.4在内存中创建一个和我们图像类型一样的图像 $fun = "imagecreatefrom{$type}"; //1.5把要操作的图片复制到内存中 $image = $fun($src);
    查看全部
  • //3.输出图片 //3.1浏览器输出 //ob_clean();//清空(擦掉)输出缓冲区 header("Content-type:".$info['mime']);//告诉浏览器输出的内容是图片 $func = "image{$type}";//这样就能实现不同图片调用不同函数 $func($image); //3.2保存图片 $func($image,'newyellow.'.$type); //4.销毁图片:清理掉内存中的图片副本,释放内存。 imagedestroy($image);
    查看全部

举报

0/150
提交
取消
课程须知
学习本门课程之前,建议先了解一下知识,会更有助于理解和掌握本门课程 1、掌握PHP基本的语言语法 2、了解PHP生命周期与PHP运行环境 3、有一定编程基础
老师告诉你能学到什么?
1、加深对GD库的了解 2、利用GD库给图片添加文字和图片水印 3、利用GD库压缩图片 5、如何打造一个属于自己的工具类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!