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

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

难度初级
时长 1小时41分
学习人数
综合评分9.77
106人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.8 逻辑清晰
  • /** * 封装成类---压缩图片 */ class Image { // 图片的基本信息 private $info; // 内存中的图片 private $image; public function __construct($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 thumb($width,$height) { $image_thumb=imagecreatetruecolor($width,$width); imagecopyresampled($image_thumb,$this->image,0,0,0,0,$width,$height,$this->info['width'],$this->info['height']); imagedestroy($this->image); $this->image=$image_thumb; }
    查看全部
  • /*二,操作图片*/ // 1,在内存中建立一个宽:300,高:200的真色彩图片 $image_thumb=imagecreatetruecolor(300,200); // 2,核心步骤:将原图复制到新建的真色彩图片上,并按照一定比例压缩 imagecopyresampled($image_thumb,$image,0,0,0,0,300,200,$info[0],$info[1]); // 3,销毁原始图片 imagedestroy($image);
    查看全部
  • /*二,操作图片*/ (1)设置水印图片的路径 $image_Mark = "weixin.png"; (2)获取水印图片的基本信息 $info2 = getimagesize($image_Mark); (3)3通过水印的图像编号来获取水印的图片类型 $type2 = image_type_to_extension($info2[2],false); (4)生成函数(名),实现根据不同的图像类型 调用 不同的GD库图像创建函数 $fun2 = "imagecreatefrom{$type2}"; (5)内存中创建图片 $water = $fun2($image_Mark); (6)合并图片(给源图片添加水印图片) //imagecopymerge(源图片,水印图片,源图片X轴位置,源图片中轴位置,水印图片X轴位置,水印图片Y轴位置,水印图片显示宽度,水印图片显示高度,水印图片透明度); //通过 源图片X轴位置 和源图片Y轴位置 控制 水印图片 在 源图片 中的位置; //通过 水印图片X轴位置,水印图片Y轴位置,水印图片显示宽度,水印图片显示高度 控制 显示 水印图片 的那一部分. imagecopymerge($image,$water,20,30,0,0,$info2[0],$info2[1],30); (7)销毁水印图片 imagedestroy($water);
    查看全部
  • /*一,打开图片*/ // 1、配置图片路径 $src='pexels.jpeg'; // 2,获取图片的基本信息 $info=getimagesize($src); // 3,通过图像的编号获取图片类型 $type=image_type_to_extension($info,false); // 4,在内存中创建相同类型的图像 $fun="imagecreatefrom{$type}"; // 5,将要操作的图像复制到内存中 $image=$func($src);
    查看全部
  • C.输出(保存)图像 //生成函数(名),实现根据不同的图像类型 调用 不同的GD库图像输出函数: $func="image{$type}"; //浏览器输出 $func($image); //保存图片 $func($image,'newimage.'.{$type}); //参数1:源图片 参数2:保存路径+生成图片名 D.销毁图片 imagedestory($image);
    查看全部
  • B.操作图片 (1)设置字体的路径 $font = '..ttf'; (2)设置文字水印内容 $content = '你好,php'; (3)设置 源图片所在画布 将使用的颜色(相当于为画布分配画笔颜色), $col= imagecolorallocatealpha($image,255,255,255,50) //$image为源图片 三个255表示颜色(RGB类型) 50表示透明度 (4)写入水印文字 imagetfftext($image,'字体大小','旋转角','x轴偏移量','y轴偏移量',$col,$font,$content,)
    查看全部
  • 素材准备: 1.原图片不要用中文命名。 2.使用小图作为水印。 3.字体库,windows有自带的字体库。(C:/Windows/Fonts) 4.开启GD库:xamp->打开php.ini->查找gd2->把extension=php_gd2.dll前面的;去掉。保存文件。
    查看全部
    0 采集 收起 来源:素材准备

    2018-03-22

  • 我出现图片不存在主要是因为把双引号变成了单引号
    查看全部
  • <?php /*打开图片*/ //1.配置图片路径 $src="123.jpg"; //2.获取图片信息 $info=getimagesize($src); //3.通过编号来获取图片类型 $type=image_type_to_extension($info[2],false); //4.在内存中建立一个和图片类型一样的图像 $fun="imagecreatefrom{$type}"; $image=$fun($src);//imagecreatefromjpeg($src); //操作图片 //1.在内存中建立一个宽300,高200的真色彩图片 //$image_thumb=imagecreatetruecolor(300, 200); //1.设置水印路径 $image_mark="002.jpg"; //2.核心步骤:将原图复制到新建的真色彩图片上,并且按照一定比例压缩 //imagecopyresampled(, image, dst_x, dst_y, src_x, src_y, dst_w, dst_h, src_w, src_h) //2.获取水印图片信息 $info2=getimagesize($image_mark); //3.通过水印的图像编号获取水印的图片类型 $type2=image_type_to_extension($info2[2],false); //4.在内存中创建一个和我们的水印图片一致的图片类型 $fun2="imagecreatefrom{$type2}"; //5.把水印图片复制到内存中 $water=$fun2($image_mark); //6.合并图片 imagecopymerge($image,$water,20,30,0,0,$info2[0],$info2[1],50); //7.销毁水印图片 imagedestroy($water); //输出图片 //在浏览器中输出图片 header("Content-type:".$info['mime']); $funs="image{$type}"; $funs($image); //保存图片 $funs($image,"wateryellow.".$type); //销毁图片 imagedestroy($image); ?>
    查看全部

举报

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

微信扫码,参与3人拼团

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

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