PHP用gd库给图片添加水印,php用GD库给图片添加水印
发布日期:2021-08-13 07:44:25 浏览次数:7 分类:技术文章

本文共 3834 字,大约阅读时间需要 12 分钟。

php用GD库给图片添加文字水印,整个代码比较简单,DEMO如下:

/*打开图片*/

//1、配置图片路径

$src = "aeroplane.jpg";

//2、获取图片信息

$info = getimagesize($src);

//3、获取图片类型

$type = image_type_to_extension($info[2], false);

//4、在内存中创建一个和我们图像类型一样的图像

$func = "imagecreatefrom{$type}";

//5、把图片复制到我们的内存中

$image = $func($src);

/* 操作图片 */

//1、设置字体路径

$font = "STXINGKA.ttf";

//2、填写水印内容

$content = "你好 mooc";

//3、设置字体颜色和透明度

$color = imagecolorallocatealpha($image, 255, 255, 255, 50);

//4、写入文字

imagettftext($image, 60, 0, 60, 120, $color, $font, $content);

/* 输出图片 */

//1、浏览器输出

header("Content-type:" . $info['mime']);

$outputfunc = "image{$type}";

$outputfunc($image);

//2、保存图片

$outputfunc($image, "newimage." . $type);

/* 销毁图片 */

imagedestroy($image);

?>

图片水印也类似:

/*打开图片*/

//1、配置图片路径

$src = "aeroplane.jpg";

//2、获取图片信息

$info = getimagesize($src);

//3、获取图片类型

$type = image_type_to_extension($info[2], false);

//4、在内存中创建图像

$createImageFunc = "imagecreatefrom{$type}";

//5、把图片复制内存中

$image = $createImageFunc($src);

/*操作图片*/

//1、设置水印图片路径

$imageMark = "logo.png";

//2、获取水印图片基本信息

$markInfo = getimagesize($imageMark);

//3、获取水印图片类型

$markType = image_type_to_extension($markInfo[2], false);

//4、在内存创建图像

$markCreateImageFunc = "imagecreatefrom{$markType}";

//5、把水印图片复制到内存中

$water = $markCreateImageFunc($imageMark);

//特别处理,设置透明

$color=imagecolorallocate($water,255,255,255);

imagefill($water,0,0,$color);

imagecolortransparent($water,$color);

//6、合并图片

imagecopymerge($image, $water, 20, 30, 0, 0, $markInfo[0], $markInfo[1], 30);

//7、销毁水印图片

imagedestroy($water);

/* 输出图片 */

//1、浏览器输出

header("Content-type:" . $info['mime']);

$outputfunc = "image{$type}";

$outputfunc($image);

//2、保存图片

$outputfunc($image, "image_mark." . $type);

/* 销毁图片 */

imagedestroy($image);

?>

php 简单的学习GD库绘制图片并传回给前端实现方式

1.基本的GD库绘制图片汇总 2.后台实现小案例 <?php // $img = imagecreatetruecolor(200,40); // var_dump($img); // 利用GD ...

php课程 8-32 如何使用gd库进行图片裁剪和缩放

php课程 8-32 如何使用gd库进行图片裁剪和缩放 一.总结 一句话总结:图片缩放到图片裁剪就是改变原图截取的位置以及截取的宽高. 1.电商网站那么多的图片,如果全部加载卡得慢的很,所以他们是怎么 ...

php使用GD库实现图片水印和缩略图——给图片添加文字水印

今天呢,就来学习一下在php中使用PD库来实现对图片水印的文字水印方法,不需要PS哦! 首先,准备素材 (1)准备一张图片 (2)准备一张水印(最好是透明的,即背景是白色底) (3)准备一中字体(在电 ...

PHP面向对象——GD库实现图片水印和缩略图

今天的实现目标就是使用GD库完成对图片加水印和图 片缩略图两个功能 动身前逻辑准备 属性: 路径 功能: 构造方法 生成水印的方法 获取 图片信息 获取位置信息(123 456 789) 创建图片资源 ...

php使用GD库实现图片水印和缩略图——封装成类

学完了如何使用GD库来实现对图片的各种处理,那么我们可以发现,不管哪种方法,都有相似之处,如果我们把这些相似的地方和不相似的地方都封装成类,这样就可以提升代码的速度,而且节省了很多时间,废话不多说,来 ...

php使用GD库实现图片水印和缩略图——生成图片缩略图

今天呢,就来学习一下在php中使用PD库来实现对图片水印的文字水印方法,不需要PS哦! 首先,准备素材 (1)准备一张图片 (2)准备一张水印(最好是透明的,即背景是白色底) (3)准备一中字体(在电 ...

php使用GD库实现图片水印和缩略图——给图片添加图片水印

今天呢,就来学习一下在php中使用PD库来实现对图片水印的文字水印方法,不需要PS哦! 首先,准备素材 (1)准备一张图片 (2)准备一张水印(最好是透明的,即背景是白色底) (3)准备一中字体(在电 ...

使用GD库做图片水印

png图片作为水印加到其他类型图片后,背景变黑色 原因: imagecopy函数拷贝时可以保留png图像的原透明信息,而imagecopymerge却不支持图片的本身的透明拷贝. 然后直接上代码: / ...

PHP学习笔记:利用gd库给图片打图片水印

随机推荐

基于android studio编译工具下的android开发之IBeacon 例子

想直接看主要内容的请调到红字下面. 之所以会接触到android下的IBeacon,是因为我自己导师给的任务.一个网址http://estimote.com/和一句话:看看这个网站,然后试下在安卓手机 ...

Python是编译运行的

虽然Python被说成是一种解释型语言,但是实际上,Python源程序要先经过编译,然后才能运行. 与Java语言类似,Python源程序编译之后得到的是字节码,交由Python虚拟机来运行. 关于这 ...

mongoDB rs和sh关键字的作用

rs是一个全局变量,其其中定义了很多分片操作的辅助函数, 可以sh.help()查看使用的辅助函数 这些是rs和sh所有函数 在mongoDB中有两种方法表示 例 sh.enableSharding( ...

&lbrack;js高手之路&rsqb;html5 canvas教程 - 1px问题以及绘制坐标系网格

在canvas中,要画出1px的线条,默认情况下是不行的 context.beginPath(); context.moveTo( 100, 100 ); context.lineTo( 400, 1 ...

什么是IPFS&quest;&lpar;三&rpar;

前两篇介绍了IPFS的基本概念, 那么IPFS都可以用来做什么? 如果你认为仅仅是CDN, 永久的web? Are you kidding me ? IPFS可是要 --改变世界的... --变世界的 ...

CDB与PDB之间的切换方法

Oracle 12c 开始支持 PLUGGABLE DATABASE,并且提供了一个方法在CDB和PDB之间切换. 1. 使用 show pdbs 可以确认当前有哪些PDB? SQL> show ...

CF 987

毒瘤啊啊啊啊啊 虽然排名还不错,331,但是B我没做出来...... 这是战绩: 可以看到我大发神威势如破竹的A了CDE,但是B把我卡了三次...不然我就能进前300了(还是很水). 逐一分析题目: ...

redis 数据类型 Hash

Redis 数据类型Hash:hash数据类型存储的数据和mysql数据库中存储的一条记录很类似. hash的一些操作: 比如数据库是user表,有id,name,age ,sex,可以建立与之对应的 ...

03&period;CSS选择器--&gt&semi;交集并集选择器

转载地址:https://blog.csdn.net/weixin_30679649/article/details/115667996 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php 方法里用外部变量的值,PHP实现函数内修改外部变量值的方法示例
下一篇:sql查询php,SQL查询或PHP?

发表评论

最新留言

不错!
[***.144.177.141]2024年04月13日 07时14分04秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

app运行提示Unable to Initialize Unity Engine 2019-04-27
spring boot 与 Ant Design of Vue 实现修改按钮(十七) 2019-04-27
spring boot 与 Ant Design of Vue 实现删除按钮(十八) 2019-04-27
spring boot 与 Ant Design of Vue 实现角色管理布局以及角色的列表(十九) 2019-04-27
spring boot 与 Ant Design of Vue 实现新增角色(二十) 2019-04-27
spring boot 与 Ant Design of Vue 实现修改角色(二十一) 2019-04-27
spring boot 与 Ant Design of Vue 实现删除角色(补二十一) 2019-04-27
spring boot 与 Ant Design of Vue 实现组织管理布局的实现(二十二) 2019-04-27
spring boot 与 Ant Design of Vue 实现左侧组织树(二十三) 2019-04-27
spring boot 与 Ant Design of Vue 实现新增组织(二十四) 2019-04-27
spring boot 与 Ant Design of Vue 实现修改组织(二十五) 2019-04-27
spring boot 与 Ant Design of Vue 实现删除组织(二十六) 2019-04-27
spring boot 与 Ant Design of Vue 实现获取用户列表(二十七) 2019-04-27
spring boot 与 Ant Design of Vue 实现修改用户(二十九) 2019-04-27
spring boot 与 Ant Design of Vue 实现删除用户(三十) 2019-04-27
spring boot 与 Ant Design of Vue 鉴权体系登录的实现(三十一) 2019-04-27
spring boot 与 Ant Design of Vue 鉴权体系获取用户信息的实现(三十二) 2019-04-27
Druid连接池实现自定义场景的多数据库的连接 2019-04-27
CentOs7命令行(静默)的方式安装oracle数据库 2019-04-27
基于VMware安装CentOs7的镜像 2019-04-27