PHP程序员学习笔记|如何学习PHP

个人总结的PHP学习方法


百度编辑器ueditor给上传的图片添加水印

2017-6-28 0phpcom 经典文章


百度编辑器本身是没有为上传图片添加水印的功能,想要在上传的时候添加图片水印,也很简单。以 ueditor 1.2.6 为例,打开php目录下面的imageUp.php文件,查找“$info = $up->getFileInfo();”,在这句代码的下面加入以下代码:


/* 添加水印 start */

$water_img = "watermark.png"; //水印文件(替这里换成你要的水印)

$img_min_w = 350; //添加水印需要图片最小达到的宽度(px),小于这个宽度时则不添加水印

$img_min_h = 60; //添加水印需要图片最小达到的高度(px)

$new_img = $ori_img = $info["url"];


$original = getimagesize($ori_img); //得到图片的信息,可以print_r($original)发现它就是一个数组

if($original[0]>$img_min_w&&$original[1]>$img_min_h){ //当图片宽度大于300px才添加水印

$watermark = getimagesize($water_img);

$s_original = imgCreateFrom($ori_img, $original[2]); //$original[2]是图片类型,其中1表示gif、2表示jpg、3表示png

$s_watermark = imgCreateFrom($water_img, $watermark[2]);

$posX = $original[0] - $watermark[0]-6; //X坐标(右下角)

$poxY = $original[1] - $watermark[1]-3; //Y坐标(右下角)


//打水印

imagecopy($s_original, $s_watermark, $posX, $poxY, 0, 0, $watermark[0], $watermark[1]);

imagejpeg($s_original, $new_img); //生成新的图片

}


//根据文件类型 创建一个新图象

function imgCreateFrom($img_src, $val){

switch($val){

case 1 : $img = imagecreatefromgif($img_src);

break;

case 2 : $img = imagecreatefromjpeg($img_src);

break;

case 3 : $img = imagecreatefrompng($img_src);

break;

}

return $img;

}

/* 添加水印 end */


然后保存,就可以了。不过要注意的是:$water_img = "watermark.png";//水印文件(替这里换成你要的水印)。

« php制作生成缩略图的源码 | php获得客户端浏览器的名称及版本»
发表评论:









订阅Rss