ueditor 图片水印 php,ueditor1.4上传图片水印

###### ueditor上传图片加水印,ueditor1.4.3 水印,ueditor1.4.3 图片水印,ueditor 1.4.3上传图片添加水印,ueditor图片水印控制

打开UEditor压缩包下php目录中的上传类文件:Uploader.class.php

在上传文件的主要方法下添加调用水印处理方法:

```php

/**

* 上传文件的主处理方法

* @return mixed

*/

private function upFile()

{

……………………

……………………

$this->stateInfo = $this->stateMap[0]; //(大概在122行)

//在下面加入如下调用水印的处理方法:

$this->imageWaterMark($this->filePath,9,'../img/watermark.png'); //注释见本文下面imageWaterMark()函数方法

……………………

欢迎来访未来往事}

```

###### 水印处理方法/函数:

```php

/**

* 功能: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 一样。

* Author: 未来往事*/

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

```

###### 基于上述方法,你也可以在多图上传中添加相关选项让用户自定义选择水印添加的位置。

###### A simple example:

![](https://www.fity.cn/usr/uploads/2016/06/1465377411_1198b056.jpg)

(1)使用UEditor编辑器的serverparam参数,参数作用:自定义请求参数

视图中添加允许用户自主选择是否添加水印的checkbox,代码:

```html

水印 (提示:每次上传前可选择是否使用水印)

```

视图中添加如下代码追加向后台发出请求时添加wm参数:

```javascript

ue.ready(function() { //页面初始化完成默认为加水印状态

UE.getEditor('editor').execCommand('serverparam', 'wm', 1);

});

function cancelwm(t){

if(t.checked){

UE.getEditor('editor').execCommand('serverparam', 'wm', 1);

}else{

UE.getEditor('editor').execCommand('serverparam', 'wm', 0);

}

}

欢迎来访未来往事```

(2)action_upload.php附件上传控制代码文件中获取wm参数并初始化上传类:

```php

/*

* 判断是否添加水印

*/

$wm = $_GET['wm'];

$up = new Uploader($fieldName, $config, $base64,$wm);

```

(3)Uploader.class.php类文件中处理是否添加水印,过程代码略。

最后更新于 2019-06-27 13:57:22 并被添加「ueditor 富文本编辑器」标签,已有 2927 位童鞋阅读过。

本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处

相关文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值