两种php给图片加水印的实现代码


Posted in PHP onApril 18, 2020

PHP最简单的加水印方法

<?php
$img = imagecreatefromjpeg($filename);
$logo = imagecreatefromjpeg($filename);
/*imagecraetefromjpeg-由文件或URL创建一个新图像
imagecreatefromjpeg(string $filename)
如果启用了fopen包装器,URL可以作为文件名*/
imagecopy($img,$logo,15,15,0,0,$width,$height);
/*imagecopy($dst_im,$src_im,$dst_x,$dst_y,$src_x,$src_y,$src_w,$src_h)
$dst_im是背景图像,就是需要添加水印的图片
$src_im是水印图片;$dst_x,#dst_y需要把水印放到背景图片的(x,y)坐标;
$src_x,$src_y是截取水印的图片的开始坐标
$width,$height是截取的图片的就是水印的长度和宽度*/
$url = 'http://www.stchat.cn/data/attachment/forum/201506/12/100759pidbdaydh8dy7iby.jpg';
$content = file_get_contents($url);//把url写入到content这个变量里面
/*file_get_contents--将整个文件读入到一个字符串*/
$filename = 'tmp.jpg';
file_put_contents($filename,$content);
//把所有内容放到filename这个变量里面,第一个存放的是背景图片
/*file_put_contents(string $filename,mixed $data)将一个字符串写入一个文件
filename要被写入数据的文件名
data要写入的数据,类型可以是string,array或者是stream资源*/
$url = '';
file_put_contents('logo.png',file_get_contents($url));
//第二个是水印的图片
$img = imagecreatefromjpeg($filename);
$logo = imagecreatefrompng('logo.png');
$size = getimagesize('logo.png');
/*getimagesize()获得图像大小*/
imagecopy($img,$logo,15,15,0,0,$size[0],$size[1]);
header("centent-type:image/jpeg");
imagejpeg(img);
?>

php给图片加文字水印

<?php
/*给图片加文字水印的方法*/
$dst_path = 'http://f4.topitme.com/4/15/11/1166351597fe111154l.jpg';
$dst = imagecreatefromstring(file_get_contents($dst_path));
/*imagecreatefromstring()--从字符串中的图像流新建一个图像,返回一个图像标示符,其表达了从给定字符串得来的图像
图像格式将自动监测,只要php支持jpeg,png,gif,wbmp,gd2.*/
 
$font = './t1.ttf';
$black = imagecolorallocate($dst, 0, 0, 0);
imagefttext($dst, 20, 0, 10, 30, $black, $font, 'Hello world!');
/*imagefttext($img,$size,$angle,$x,$y,$color,$fontfile,$text)
$img由图像创建函数返回的图像资源
size要使用的水印的字体大小
angle(角度)文字的倾斜角度,如果是0度代表文字从左往右,如果是90度代表从上往下
x,y水印文字的第一个文字的起始位置
color是水印文字的颜色
fontfile,你希望使用truetype字体的路径*/
list($dst_w,$dst_h,$dst_type) = getimagesize($dst_path);
/*list(mixed $varname[,mixed $......])--把数组中的值赋给一些变量
像array()一样,这不是真正的函数,而是语言结构,List()用一步操作给一组变量进行赋值*/
/*getimagesize()能获取到什么信息?
getimagesize函数会返回图像的所有信息,包括大小,类型等等*/
switch($dst_type){
 case 1://GIF
  header("content-type:image/gif");
  imagegif($dst);
  break;
 case 2://JPG
  header("content-type:image/jpeg");
  imagejpeg($dst);
  break;
 case 3://PNG
  header("content-type:image/png");
  imagepng($dst);
  break;
 default:
  break;
 /*imagepng--以PNG格式将图像输出到浏览器或文件
 imagepng()将GD图像流(image)以png格式输出到标注输出(通常为浏览器),或者如果用filename给出了文件名则将其输出到文件*/
}
imagedestroy($dst);
?>

以上就是php给图片加水印的实现代码,希望大家可以熟练掌握。

PHP 相关文章推荐
PHP开发文件系统实例讲解
Oct 09 PHP
php 用sock技术发送邮件的函数
Jul 21 PHP
PHP开发中四种查询返回结果分析
Jan 02 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
PHP也能干大事 随机函数
Apr 14 PHP
php返回当前日期或者指定日期是周几
May 21 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
Jun 12 PHP
php微信公众号开发(4)php实现自定义关键字回复
Dec 15 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
Sep 15 PHP
php简单生成随机数的方法
Jul 30 #PHP
php简单判断文本编码的方法
Jul 30 #PHP
php实现的数字验证码及数字运算验证码
Jul 30 #PHP
Thinkphp+smarty+uploadify实现无刷新上传
Jul 30 #PHP
PHP实现批量修改文件后缀名的方法
Jul 30 #PHP
PHP实现抓取迅雷VIP账号的方法
Jul 30 #PHP
PHP定时执行任务实现方法详解(Timer)
Jul 30 #PHP
You might like
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
Javasipt:操作radio标签详解
2013/12/30 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
Express的路由详解
2015/12/10 Javascript
AngularJS 防止页面闪烁的方法
2017/03/09 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
React 实现车牌键盘的示例代码
2019/12/20 Javascript
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
Python常见字典内建函数用法示例
2018/05/14 Python
通过实例解析Python调用json模块
2019/12/11 Python
.NET初级开发工程师面试题
2014/04/18 面试题
建筑设计师岗位职责
2013/11/18 职场文书
大学生职业规划书的范本
2014/02/18 职场文书
申论倡议书范文
2014/05/13 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
六一儿童节活动总结
2014/08/27 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
学校食堂标语
2014/10/06 职场文书
跑出一片天观后感
2015/06/08 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
《给予树》教学反思
2016/03/03 职场文书
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技