两种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 相关文章推荐
福利彩票幸运号码自动生成器
Oct 09 PHP
一篇不错的PHP基础学习笔记
Mar 18 PHP
php minixml详解
Jul 19 PHP
php cli 方式 在crotab中运行解决
Feb 08 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
Jan 07 PHP
理解PHP中的Session及对Session有效期的控制
Jan 08 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
如何利用预加载优化Laravel Model查询详解
Aug 11 PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
Feb 27 PHP
PHP面向对象程序设计重载(overloading)操作详解
Jun 13 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
PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
2011/07/01 PHP
url decode problem 解决方法
2011/12/26 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
Prototype 工具函数 学习
2009/07/23 Javascript
javascript 简练的几个函数
2009/08/29 Javascript
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
用Python的urllib库提交WEB表单
2009/02/24 Python
python计算一个序列的平均值的方法
2015/07/11 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
Python绘制组合图的示例
2020/09/18 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
html5 标签
2009/07/16 HTML / CSS
比较基础的php面试题及答案-填空题
2014/04/26 面试题
医学生自我评价
2014/01/27 职场文书
消防安全承诺书
2014/05/22 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
慰问信的写作格式及范文!
2019/06/24 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python
Python类方法总结讲解
2021/07/26 Python
Python使用openpyxl模块处理Excel文件
2022/06/05 Python