文章缩略图

利用GD库模块如何使用ueditor上传图片加水印

2022-09-01 00:00:00 技术教程 7798 阅读需39分钟
图标

本文最后更新于2022-09-01 00:00:00已经过去了973天 请注意内容时效性

热度 151 评论 0 点赞67
钞能力。你在哪?此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“钞能力。你在哪?”或者“mdyc919293”或者微信扫描右侧二维码关注公众号。

用ueditor上传图片加水印?下面本篇文章给大家介绍一下使用ueditor上传图片加水印的方法,希望对大家有所帮助!

 利用GD库模块如何使用ueditor上传图片加水印 技术教程

博客在上传图片的时候,我希望能打上我博客链接的水印,掘金,csdn都是这么干的,这事我得学习。

平时的图片上传还好说,在文章编辑的时候,使用ueditor上传图片加水印需要修改ueditor部分PHP的源码,我这里大概记录一下。

首先打开php文件夹下的Uploader.class.php

 利用GD库模块如何使用ueditor上传图片加水印 技术教程

找到private function upFile(),这是上传文件的主处理方法,

找到122行:$this->stateInfo = $this->stateMap[0];

在这个下面加入:$this->imageWaterMark($this->filePath,9,'logo.png');

imageWaterMark是自定义的函数,

在下面会说到,$this->filePath 这是上传图片的路径,9 表示的是水印的位置,在右下角,logo.png这个就是你要添加的水印图片了,这个在同一目录下/php/,如果要放到其它路径请用相对路径。

 利用GD库模块如何使用ueditor上传图片加水印 技术教程

下面这个就是自定义函数了,添加到Uploader 类中 所有的参数都已在函数注释中说明,调用的时候需要注意一下

/* * 功能:PHP图片水印 (水印支持图片或文字) * 参数:  *$groundImage 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式;  *$waterPos水印位置,有10种状态,0为随机位置;   *1为顶端居左,2为顶端居中,3为顶端居右; *4为中部居左,5为中部居中,6为中部居右; *7为底端居左,8为底端居中,9为底端居右;  *$waterImage图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式;  *$waterText文字水印,即把文字作为为水印,支持ASCII码,不支持中文;  *$textFont文字大小,值为1、2、3、4或5,默认为5;  *$textColor文字颜色,值为十六进制颜色值,默认为#FF0000(红色); * 注意:Support GD 2.0,Support FreeType、GIF Read、GIF Create、JPG 、PNG  *$waterImage 和 $waterText 最好不要同时使用,选其中之一即可,优先使用 $waterImage。  *当$waterImage有效时,参数$waterString、$stringFont、$stringColor均不生效。  *加水印后的图片的文件名和 $groundImage 一样。 */private function imageWaterMark($groundImage,$waterPos=0,$waterImage="",$waterText="",$textFont=5,$textColor="#FF0000"){    $isWaterImage = FALSE;    $formatMsg = "暂不支持该文件格式,请用图片处理软件将图片转换为GIF、JPG、PNG格式。";    //读取水印文件    if(!empty($waterImage) && file_exists($waterImage))    {        $isWaterImage = TRUE;        $water_info = getimagesize($waterImage);        $water_w = $water_info[0];//取得水印图片的宽        $water_h = $water_info[1];//取得水印图片的高         switch($water_info[2])//取得水印图片的格式        {            case 1:$water_im = imagecreatefromgif($waterImage);break;            case 2:$water_im = imagecreatefromjpeg($waterImage);break;            case 3:$water_im = imagecreatefrompng($waterImage);break;            default:die($formatMsg);        }    }    //读取背景图片    if(!empty($groundImage) && file_exists($groundImage))    {        $ground_info = getimagesize($groundImage);        $ground_w = $ground_info[0];//取得背景图片的宽        $ground_h = $ground_info[1];//取得背景图片的高        switch($ground_info[2])//取得背景图片的格式        {            case 1:$ground_im = imagecreatefromgif($groundImage);break;            case 2:$ground_im = imagecreatefromjpeg($groundImage);break;            case 3:$ground_im = imagecreatefrompng($groundImage);break;            default:die($formatMsg);        }    }    else    {        die("需要加水印的图片不存在!");    }    //水印位置    if($isWaterImage)//图片水印    {        $w = $water_w;        $h = $water_h;        $label = "图片的";    }    else//文字水印    {        $temp = imagettfbbox(ceil($textFont*5),0,"./cour.ttf",$waterText);//取得使用 TrueType 字体的文本的范围        $w = $temp[2] - $temp[6];        $h = $temp[3] - $temp[7];        unset($temp);        $label = "文字区域";    }    if( ($ground_w
你可能想看:
继续阅读本文相关话题
更多推荐
发表评论

共有[ 1 ]人发表了评论

🥰 😎 😀 😘 😱 🤨 🥵 😔 😤 😡 😭 🥱 🤡 ☠️ 💖 🤖 💢 💥

评论列表
暂无评论

暂时没有评论,期待您的声音!

品牌认证 W3C认证 MYSSL认证 TrustAsia 安全签章
扫码访问手机版
二维码图片