两种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 相关文章推荐
JS实现php的伪分页
May 25 PHP
php 清除网页病毒的方法
Dec 05 PHP
PHP setcookie() cannot modify header information 的解决方法
Jan 09 PHP
php 下载保存文件保存到本地的两种实现方法
Aug 12 PHP
避免Smarty与CSS语法冲突的方法
Mar 02 PHP
WordPress中查询文章的循环Loop结构及用法分析
Dec 17 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
Aug 28 PHP
详解php中serialize()和unserialize()函数
Jul 08 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
php桥接模式应用案例分析
Oct 23 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 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
一个程序下载的管理程序(三)
2006/10/09 PHP
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
js中常用的Math方法总结
2017/01/12 Javascript
用vue和node写的简易购物车实现
2017/04/25 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
2020/08/18 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
vue在图片上传的时候压缩图片
2020/11/18 Vue.js
python 写的一个爬虫程序源码
2016/02/28 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
python读取和保存图片5种方法对比
2018/09/12 Python
详解小白之KMP算法及python实现
2019/04/04 Python
Django 数据库同步操作技巧详解
2019/07/19 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
护理专业毕业生推荐信
2013/10/31 职场文书
最新的互联网创业计划书
2014/01/10 职场文书
新学期红领巾广播稿
2014/01/14 职场文书
初中政治教学反思
2014/01/17 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
党的群众路线教育实践活动心得体会(企业)
2014/11/03 职场文书
年会邀请函范文
2015/01/30 职场文书
考试没考好检讨书
2015/05/06 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python
Vue深入理解插槽slot的使用
2022/08/05 Vue.js