服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|

服务器之家 - 编程语言 - PHP教程 - php图片添加文字水印实现代码

php图片添加文字水印实现代码

2020-12-29 16:45小贝 PHP教程

这篇文章主要为大家详细介绍了php图片添加文字水印实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

php类库给现有的图片文字水印,代码不是很完善,欢迎大家多多指教!代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
/*PHP图片加文字水印类库
QQ:3697578482 伤心的歌
该类库暂时只支持文字水印,位置为右下角,颜色随机
调用方法:
1、在需要加水印的文件顶部引入类库:
include_once 'imageClass.php';
2、声明新类:
$tpl=new image_fu;
3、给图片水印提供参数:
$tpl->img(图片路径,水印文字,字体路径,字体大小,字体角度);
比如:$tpl->img('abc.jpg','这是水印文字','ziti.ttf',30,0)
*/
class image_fu{
private $image;
private $img_info;
private $img_width;
private $img_height;
private $img_im;
private $img_text;
private $img_ttf='';
private $img_new;
private $img_text_size;
private $img_jd;
function img($img='',$txt='',$ttf='',$size=12,$jiaodu=0){
if(isset($img)&&file_exists($img)){//检测图片是否存在
$this->image =$img;
$this->img_text=$txt;
$this->img_text_size=$size;
$this->img_jd=$jiaodu;
if(file_exists($ttf)){
$this->img_ttf=$ttf;
}else{
exit('字体文件:'.$ttf.'不存在!');
}
$this->imgyesno();
}else{
exit('图片文件:'.$img.'不存在');
}
}
private function imgyesno(){
$this->img_info =getimagesize($this->image);
$this->img_width =$this->img_info[0];//图片宽
$this->img_height=$this->img_info[1];//图片高
//检测图片类型
switch($this->img_info[2]){
case 1:$this->img_im = imagecreatefromgif($this->image);break;
case 2:$this->img_im = imagecreatefromjpeg($this->image);break;
case 3:$this->img_im = imagecreatefrompng($this->image);break;
default:exit('图片格式不支持水印');
}
$this->img_text();
}
private function img_text(){
imagealphablending($this->img_im,true);
//设定颜色
$color=imagecolorallocate($this->img_im,rand(0,255),rand(0,255),rand(0,255));
$txt_height=$this->img_text_size;
$txt_jiaodu=$this->img_jd;
$ttf_im=imagettfbbox($txt_height,$txt_jiaodu,$this->img_ttf,$this->img_text);
$w = $ttf_im[2] - $ttf_im[6];
$h = $ttf_im[3] - $ttf_im[7];
//$w = $ttf_im[7];
//$h = $ttf_im[8];
unset($ttf_im);
$txt_y =$this->img_height-$h;
$txt_x =$this->img_width-$w;
//$txt_y =0;
//$txt_x =0;
$this->img_new=@imagettftext($this->img_im,$txt_height,$txt_jiaodu,$txt_x,$txt_y,$color,$this->img_ttf,$this->img_text);
@unlink($this->image);//删除图片
switch($this->img_info[2]) {//取得背景图片的格式
case 1:imagegif($this->img_im,$this->image);break;
case 2:imagejpeg($this->img_im,$this->image);break;
case 3:imagepng($this->img_im,$this->image);break;
default: exit('水印图片失败');
}
}
//显示图片
function img_show(){echo '<img src="'.$this->image.'" border="0" id="codetool">

以上就是本文的全部内容,希望对大家的学习有所帮助。

延伸 · 阅读

精彩推荐
  • PHP教程PHP的pcntl多进程用法实例

    PHP的pcntl多进程用法实例

    这篇文章主要介绍了PHP的pcntl多进程用法,实例分析了pcntl操作多进程的使用技巧,非常具有实用价值,需要的朋友可以参考下...

    qdujunjie1922020-09-12
  • PHP教程PHP写杨辉三角实例代码

    PHP写杨辉三角实例代码

    PHP写杨辉三角实例代码,学习php算法的朋友可以参考下。 ...

    PHP教程网3222019-12-06
  • PHP教程PHP依赖注入原理与用法分析

    PHP依赖注入原理与用法分析

    这篇文章主要介绍了PHP依赖注入原理与用法,简单讲述了依赖注入的概念、原理并结合实例形式分析了php实现与使用依赖注入的相关操作技巧,需要的朋友可...

    dongxie5485212019-09-10
  • PHP教程Laravel框架实现的rbac权限管理操作示例

    Laravel框架实现的rbac权限管理操作示例

    这篇文章主要介绍了Laravel框架实现的rbac权限管理操作,结合实例形式分析了Laravel框架权限控制rbac相关数据库创建、读写及权限判断等操作技巧,需要的朋友...

    snow_small3192019-07-03
  • PHP教程thinkPHP框架实现的简单计算器示例

    thinkPHP框架实现的简单计算器示例

    这篇文章主要介绍了thinkPHP框架实现的简单计算器,结合实例形式分析了基于thinkPHP框架的用户登陆、数值计算、数据库读写、历史记录保存等功能相关实现...

    luckymaoyy2302019-07-22
  • PHP教程PHP实现把数字ID转字母ID

    PHP实现把数字ID转字母ID

    以下是对使用PHP把数字ID转字母ID的实现代码进行了详细的分析介绍,需要的朋友可以过来参考下 ...

    PHP教程网4942020-05-16
  • PHP教程详解thinkphp中的volist标签

    详解thinkphp中的volist标签

    本文通过实例案例给大家介绍了thinkphp中的volist标签,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友参考下吧 ...

    TBHacker3542019-10-25
  • PHP教程ThinkPHP模板Switch标签用法示例

    ThinkPHP模板Switch标签用法示例

    这篇文章主要介绍了ThinkPHP模板Switch标签用法,需要的朋友可以参考下...

    ThinkPHP教程网2862020-07-12