PHP用gd库给图片添加水印,php用GD库给图片添加水印

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;交集并集选择器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows单机配置Zookeeper环境

转自&#xff1a;http://www.jianshu.com/p/f7037105db46 首先要确保机器已经安装好java环境&#xff0c;并且配置好环境变量 http://apache.fayea.com/zookeeper/current/ 下载后&#xff0c;解压缩到硬盘&#xff0c;我这里解压到了 D:\WorkSoftware\zookeeper_3.4.9 解压缩在…

php 方法里用外部变量的值,PHP实现函数内修改外部变量值的方法示例

本文实例讲述了PHP实现函数内修改外部变量值的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;直接上代码&#xff0c;如下&#xff1a;$a_str ab;function change_val(){global $a_str; // 通过设置全局变量&#xff0c;修改变量值//$a_str abc;$a_str $a_str…

三层架构—简析

三层学习完了&#xff0c;第一次验收的时候&#xff0c;自己理解的也不是非常到位&#xff0c;后来又又一次敲了一遍登陆样例&#xff0c;查阅了一些资料 进行第二次验收才感觉清晰了很多。之前画时序图时我就想过时序图基本上也是非常好的体现了三层&#xff0c;当时也和别人讨…

php配置文件加载顺序,php extension 加载顺序问题

有的php扩展&#xff0c;加载是有先后顺序的&#xff0c;如果搞错了&#xff0c;会导致扩展无法加载。1&#xff0c;pdo_sqlsrv是sqlserver扩展&#xff0c;如果在pdo扩展之前加载就会报以下错误PHP Warning: PHP Startup: Unable to load dynamic library pdo_sqlsrv.so (trie…

机房收费系统之结账

其实&#xff0c;我认为机房收费系统中结账的部分是耗我精力最多的。首先我就不明确结账是干嘛的&#xff0c;所以一上来就晕乎乎。后来看了一篇博客说结账方便老板管理的才明确了为什么是“操作员”。这里面要理清的一点&#xff0c;结账的内容是未结账的。 暂时汇总的信息&am…

linux php oauth安装,php – 无法在Linux上安装OAuth

我正在尝试在Linux上安装OAuth,但它无法正常工作.我正在运行此命令&#xff1a;yum install php-devel然后pecl install oauth然后我得到这个输出&#xff1a;downloading oauth-1.2.2.tgz ...Starting to download oauth-1.2.2.tgz (45,348 bytes).............done: 45,348 b…

[NOIP2010提高组]关押罪犯

题目&#xff1a;洛谷P1525、Vijos P1776、codevs1069。 题目大意&#xff1a;有一些罪犯&#xff0c;两个罪犯之间可能会发生冲突&#xff0c;冲突有个影响力&#xff0c;而如果两个罪犯在不同监狱里&#xff0c;就可以避免冲突。现在有两个监狱&#xff0c;要你安排一种关押罪…

java一元二次方程面向对象,求解一元二次方程(面向对象设计的),跪求

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼头文件#if! defined(EQUATION_H)#define EQUATION_H#include #include using namespace std;class FindRoot{private:float a,b,c,d;double x1,x2;public:FindRoot(float x,float y,float z);void Find();void Display();};#endif实…

Java线上应用故障排查之一:高CPU占用

一个应用占用CPU很高&#xff0c;除了确实是计算密集型应用之外&#xff0c;通常原因都是出现了死循环。 以我们最近出现的一个实际故障为例&#xff0c;介绍怎么定位和解决这类问题。 根据top命令&#xff0c;发现PID为28555的Java进程占用CPU高达200%&#xff0c;出现故障。 …

Java并发编程实战 代码bug,Java并发编程实战(1)- 并发程序的bug源头

概述并发编程一般属于编程进阶部分的知识&#xff0c;它会涉及到很多底层知识&#xff0c;包括操作系统。编写正确的并发程序是一件很困难的事情&#xff0c;由并发导致的bug&#xff0c;有时很难排查或者重现&#xff0c;这需要我们理解并发的本质&#xff0c;深入分析Bug的源…

ajax小结

转载于:https://www.cnblogs.com/infernoyy/p/7250548.html

linux mysql迁移,Linux 下安装MySQL并迁移备份

简单记录下在centOS上安装MySQL(MariaDB)的过程。这里我并没有选择特定的MySQL版本&#xff0c;使用的是源默认提供的版本。1. 执行安装命令&#xff1a;执行如下指令安装MySQL数据库。1yuminstall-ymysqlmysql-server注意这里同时安装了mysql和mysql-server。在输出一长串信息…

Asp.net--DropDownList控件绑定数据库数据

DropDownList控件绑定数据库数据&#xff1a;DB是公共类&#xff0c;reDt是公共类中的方法 放在Page_Load事件中 if (!IsPostBack){DB db new DB();DataTable dt db.reDt("select * from provinceInfo order by provinceid asc");ddlsmprovince.DataSource dt;ddl…

app推送以及提示音java,springboot 整合 Jpush 极光推送

产品简介&#xff1a;JPush 是经过考验的大规模 App 推送平台&#xff0c;每天推送消息数超过 5 亿条。 开发者集成 SDK 后&#xff0c;可以通过调用 API 推送消息。同时&#xff0c;JPush 提供可视化的 web 端控制台发送通知&#xff0c;统计分析推送效果。 JPush 全面支持 An…

C++游戏系列2:角色装备武器

很多其它见&#xff1a;C游戏系列文件夹 知识点&#xff1a;类的组合&#xff0c;A类的数据成员。是B类的对象&#xff0c;或B类的对象。做A类的数据成员    【项目-带武器的游戏角色】   设计一个武器类&#xff0c;其数据成员至少要有武器名、威力&#xff0c;还能够…

php 显示当前年月日时分秒,php 获取当前前后年、月、星期、日、时分秒的时间...

php 获取今天前后年、月、星期、日、时分秒的时间。通过设置时间戳函数strtotime()的参数获取时间。//获取当前时间echo date(Y-m-d H:i:s,strtotime(now));echo date(Y-m-d H:i:s);echo date(Y-m-d H:i:s,time());//获取5天前的时间echo date(Y-m-d H:i:s,strtotime("-5 …

Lydsy2017年4月月赛 抵制克苏恩

Description小Q同学现在沉迷炉石传说不能自拔。他发现一张名为克苏恩的牌很不公平。如果你不玩炉石传说&#xff0c;不必担心&#xff0c;小Q同学会告诉你所有相关的细节。炉石传说是这样的一个游戏&#xff0c;每个玩家拥有一个30 点血量的英雄&#xff0c;并且可以用牌召唤至…

php 判斷數據庫表是否存在,phpl判斷mysq數據庫中的某個數據表是否存在的方法總結...

注意&#xff1a;以下都是在ThinkPHP框架中進行測試方式1通過查詢MySQL的配置表信息//TABLE_SCHEMA&#xff1a;表示數據庫名 &#xff0c; TABLE_NAME : 表示表名$sql "SELECT count(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMAdatabase_name and TABLE_NAME…

怎样学习(3):迭代学习,精益求精

古人云「十年寒窗无人问。一举成名天下知」&#xff0c;这是中国古代为数不多的读书人的真实写照。大多数读书人仅仅有十年寒窗&#xff0c;却不见得成名。 在软件开发领域有瀑布模式的软件project方法论。它将软开发的几个过程「需求分析&#xff0c;概要设计&#xff0c;具体…

matlab宏参赛,MATLAB杯无人机大赛 | 决赛通知!

原标题&#xff1a;MATLAB杯无人机大赛 | 决赛通知&#xff01;重磅消息——决赛通知&#xff01;经过近5个多月的准备&#xff0c;MATLAB杯无人机比赛即将迎来精彩的决赛&#xff0c;来自全国10强的参赛队伍&#xff0c;齐聚羊城广州&#xff0c;美丽的中山大学&#xff0c;进…