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

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 '

';}

//释放内存

private function img_nothing(){

unset($this->img_info);

imagedestroy($this->img_im);

}

}

?>

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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php图片添加代码,php图片添加文字水印实现代码_php技巧相关推荐

  1. php图片添加代码,php实现图片添加文字水印程序代码

    /*PHP图片加文字水印类库 该类库暂时只支持文字水印,位置为右下角,颜色随机 调用方法: 1.在需要加水印的文件顶部引入类库: include_once 'imageClass.php'; 2.声明 ...

  2. Java,图片添加二维码和文字水印,合并为一张图

    在工作中遇到了要把两张图片合并成一张图片的情况,具体场景是用户头像➕二维码➕背景图 本着不重复造轮子的想法,搜索了hutool的utils包,还真让我找到了一个cn.hutool.core.img.I ...

  3. php 文字水印去除毛边_PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】...

    本文实例讲述了PHP的图像处理.分享给大家供大家参考,具体如下: 1.添加文字水印 //1.打开图片资源 $src="./material/sea.jpg"; $info=geti ...

  4. php给图片添加水印方法汇总(包括文字水印和图片水印)

    原文地址 ``` 原文地址 1: 面向过程的编写方法 //指定图片路径 $src = '001.png'; //获取图片信息 $info = getimagesize($src); //获取图片扩展名 ...

  5. php 文字水印去除毛边_php实现文字水印和图片水印,支持透明效果

    有时上传图片时需要给网站加上水印,水印可以分为文字水印和图片水印. 文字水印 文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件.效果图如下: php文字水印效 ...

  6. php pdf 文字水印图片,php如何给pdf加上文字水印和图片水印[未测试]

    php给pdf加上水印 环境 php5.5.12 fpdi-1.5.2 fpdf-1.7 原理 利用fpdi来加载已知pdf文件,用fpdf对pdf进行操作 注意事项 免费的fpdi只支持处理pdf1 ...

  7. Java 生成微信扫描的二维码,跳转到指定网址,图片增加二维码及文字水印

    两种场景: 1.图片海报中加二维码 2.二维码中间加入指定图标 注意点:字体要再设置一下清晰度,要不特别模糊. graph.setRenderingHint(RenderingHints.KEY_TE ...

  8. java 批量为图片添加图标水印和文字水印

    需求,给指定目录下面以.jpg结尾的文件,添加图标水印和文字水印 文章目录 一.基础版本 二.升级版本 三.依赖 一.基础版本 package com.gblfy.util;import com.su ...

  9. java 多文字水印_Java 如何给Word文档添加多行文字水印

    前言html 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,以前那篇教程里主要指的是单行字体的水印,而在操做Word文档时,有时也会碰到须要添 ...

最新文章

  1. kudu接受kafka消息_Kafka 在车好多
  2. 基于OpenCV的视障人士实时目标检测
  3. java不同工厂生产不同电器_完整案例分析再加知识整合——艾特抽象工厂模式,超详细的...
  4. 【CSS练习】IT修真院--练习4-移动端界面
  5. mysql 原理 ~ 索引通说
  6. KubeCon 北美前瞻|在 2020 最后,容器领域有哪些值得你关注的话题?
  7. 2010年第一届蓝桥杯省赛 —— 第一题
  8. 通俗易懂,什么是.NET Core以及.NET Core能做什么
  9. java策略文件_[讨论]java类文件保护策略
  10. 电脑字体在哪个文件夹_在PS里如何安装字体
  11. scannet数据集和shapenet、modelnet等数据集的名称和标签对应关系
  12. Ext.widgets-menu
  13. 【个人笔记】OpenCV4 C++ 快速入门 11课
  14. sha1算法源码c版
  15. Carrot2 - Wikipedia, the free encyclopedia
  16. 梁宁——服务设计蓝图核心要素——峰值和终值(阅读总结)
  17. H3C路由器清空ARP表
  18. 【学习笔记】windows快捷键
  19. 华硕笔记本能通用的BIOS型号
  20. SMS发送WapPush

热门文章

  1. Tricks(三十)—— 获取高维向量邻域的方法
  2. 可视化——matplotlib常用api(一)
  3. python怎么读取csv文件-使用Python读写csv文件的三种方法
  4. python工资一般多少-Python工资多少?就业发展前景怎么样?
  5. 自学python能学成吗-大家觉得自学python多久能学会?
  6. python可以做什么工作-Python入门后,想要从事自由职业可以做哪方面工作?
  7. 车载语音最新黑科技 除了辨“音”还会识“相”
  8. 大数据时代的语音识别,方言也不怕?
  9. php 按行读取 太慢,3分钟短文 | 大神救我!18G的大文件,PHP咋按行读取?
  10. ES6 迭代器与生成器(非常详细、容易理解)