百度编辑器本身是没有为上传图片加入水印的功能,想要在上传的时候加入图片水印,也非常easy。以 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";//水印文件(替这里换成你要的水印)。

也能够加文字水印

$text1 = '中文11';

//echo $text1;

//$text1 = iconv("GB2312","UTF-8//IGNORE",$text1); //防止中文乱码

//echo 'after'.$text1;

$size = 20; //文字大小

$font = $_SERVER['DOCUMENT_ROOT']."/themes/Static/images/simfang.ttf"; //字体

$angle = 0; //旋转角度,逆时针

$wmtext->GetWpText($text1);

$wmtext->GetFtSize($size);

$wmtext->GetFtType($font);

$wmtext->GetTtAngle($angle);

$wmtext->AddWpText($info["url"]);// 给图片加入文字水印*/

class WaterMark

{

//类開始

    public $text, $color, $size, $font, $angle, $px, $py, $im;

//要加入的文字 

public function GetWpText($text)

    {

   $this->text = $text;

    }

//加入文字的颜色

public function GetFtColor($color)

    {

   $this->color = $color;

    }

//加入文字的字体

public function GetFtType($font)

    {

   $this->font = $font;

    }

  

//加入文字的大小

public function GetFtSize($size)

    {

   $this->size = $size;

    }

//文字旋转的角度

public function GetTtAngle($angle)

    {

   $this->angle = $angle;

    }

//加入文字的位置

public function GetTtPosit()

    {

//echo 'here'.strlen($this->text);

   $this->px = imagesx($this->im) - strlen($this->text)*10;

   $this->py = imagesy($this->im) - 20;

    }    

static function getImageInfo($img) {

        $imageInfo = getimagesize($img);

        if ($imageInfo !== false) {

            $imageType = strtolower(substr(image_type_to_extension($imageInfo[2]), 1));

            $imageSize = filesize($img);

            $info = array(

                "width" => $imageInfo[0],

                "height" => $imageInfo[1],

                "type" => $imageType,

                "size" => $imageSize,

                "mime" => $imageInfo['mime']

            );

            return $info;

        } else {

            return false;

        }

    }

//加入文字水印 

public function AddWpText($pict)

    {

   //$ext = exif_imagetype($pict);

   $sInfo = self::getImageInfo($pict);

   switch ($sInfo['type']) {

   case 1:

       $picext = "gif";

    $this->im = imagecreatefromgif($pict);

    break;

   case "jpeg":

       $picext = "jpeg";

    $this->im = imagecreatefromjpeg($pict);

    break;

   case 3:

       $picext = "png";

    $this->im = imagecreatefrompng($pict);

    break;

   default:

       $this->Errmsg("不支持的文件格式。");

    break;

   }

  

   //$this->picext = $picext;

   $this->GetTtPosit();

   $im   = $this->im;

   $size = $this->size;

   $angle= $this->angle;

   $px   = $this->px;

   $py   = $this->py;

   $color= $this->color;

   $font = $this->font;

   $text = $this->text;

   $color= imagecolorallocate($im, 255, 0, 0);

   //echo $picext.$im.'==='.$pict;

   //echo $size.' '.$angle.' '.px.' '.$py.' '.$color.' '.$font.' '.$text.'end';

   imagettftext($im, $size, $angle, $px, $py, $color, $font, $text);

   switch ($picext) {

   case "gif":

       imagegif($im, $pict);

    break;

   case "jpeg":

       imagejpeg($im, $pict, 100);

    break;

   case "png":

      imagealphablending($im, false);

            imagesavealpha($im, true);

       imagepng($im, $pict);

    break;

   }

   imagedestroy($im);

    }

//错误信息提示 

public function Errmsg($msg)

    {

        echo "<script language='javascript'>alert('".$msg."');</script>";

    }

//类结束 

}

百度编辑器ueditor给上传的图片加入水印的更多相关文章

  1. thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印

    今天分享一下thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印.博主是新手,在这里卡住了很久(>_<) thinkphp 3.2.3整合ueditor 1.4 下载 ...

  2. SouthidcEditor编辑器如何支持上传png图片

    SouthidcEditor编辑器如何支持上传png图片? asp网站一般都是用的南方数据SouthidcEditor编辑器,可是这个编辑器上传图片功能不能上传png类型的图片,那怎么办?我(红蜘蛛网 ...

  3. 【完整靠谱版】结合公司项目,仔细总结自己使用百度编辑器实现FTP上传的完整过程

    说在前面 工作中会遇到很多需要使用富文本编辑器的地方,比如我现在发布这篇文章离不开这个神器,而且现在网上编辑器太多了.记得之前,由于工作需要自己封装过一个编辑器的公共插件,是用ckeditor改版的, ...

  4. ueditor批量上传word图片

    图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM ...

  5. 百度编辑器ueditor批量上传图片或者批量上传文件时,文件名称和内容不符合,错位问题

    百度编辑器ueditor批量上传附件时,上传后的文件和实际文件名称错误,比如实际是文件名“dongcoder.xls”,上传后可能就成了“懂客.xls”.原因就是,上传文件时是异步上传,同时进行,导致 ...

  6. .net mvc4 利用 kindeditor 上传本地图片

    http://blog.csdn.net/ycwol/article/details/41824371?utm_source=tuicool&utm_medium=referral 最近在用k ...

  7. 解决:百度编辑器UEditor,怎么将图片保存到图片服务器,或者上传到ftp服务器的问题(如果你正在用UE,这篇文章值得你看下)

    在使用百度编辑器ueditor的时候,怎么将图片保存到另一个服务器,或者上传到ftp服务器?这个问题,估计很多使用UE的人会遇到.而且我百度过,没有找到这个问题的解决方案.那么:本篇文章就很适合你了. ...

  8. asp.net 百度编辑器 UEditor 上传图片 图片上传配置 编辑器配置 网络连接错误,请检查配置后重试

    1.配置ueditor/editor_config.js文件,将 //图片上传配置区 ,imageUrl:URL+"net/imageUp.ashx" //图片上传提交地址 ,im ...

  9. dedecmsV5.7 百度编辑器ueditor 多图上传 在线管理 排序问题

    问题:dedecms后台百度编辑器ueditor的多图上传-在线管理的图片排序有问题,想把这个顺序调成按照文件修改时间倒序来展示 解决方法: 1.打开/include/ueditor/php/acit ...

随机推荐

  1. (转)淘淘商城系列——使用maven tomcat插件启动web工程

    http://blog.csdn.net/yerenyuan_pku/article/details/72672138 上文我们一起学习了怎样搭建maven工程,这篇文章我就来教大家一起学习怎样用to ...

  2. shell高级用法

    参考链接: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=218853&page=7#pid1628522

  3. CAD嵌套打印(com接口版)

    当用户需要打印两个CAD控件的图纸时,可以采用嵌套打印实现.实现嵌套打印功能,首先将两个CAD控件放入网页中,C#代码如下: private void BatchPrintDialog() { MxD ...

  4. freenas 系统可能存在的bug

    1.portal 中ip端口显示有问题. 2.创建extend/target映射之后重启iscsi服务有的时候不能启动. 3.后台/usr /etc 重启系统会自动还原.

  5. B5. Concurrent JVM 锁优化

    [概述] 高效并发是从 JDK1.5 到 JDK 1.6 的一个重要改进,HotSpot 虚拟机开发团队在这个版本上花费了大量的精力去实现各种锁优化技术,如适应性自旋(Adaptive Spining ...

  6. 借助百度地图API制作企业百度地图

    做网站需要插入地图,可以借助百度地图API,具体步骤如下: 1.打开百度地图API的网址:   http://api.map.baidu.com/lbsapi/creatmap/ 2.设置中心点 3. ...

  7. 解决mysql时区问题以及SSL问题

    看了下网上的教程,觉得都太麻烦啦,这里推荐个简单的! 解决时区问题 只需要加上serverTimezone=UTC即可,如下: spring.datasource.url=jdbc:mysql://1 ...

  8. word 给段落添加背景色

    word 2007 单击"页面布局"选项卡->单击"页面背景"一栏中的"页面边框"->(弹出边框与底纹对话框)->点击底纹 ...

  9. jsp学习之如何在web层创建Servlet

    jsp动态网页的文件目录结构如下: 1.src下存放java代码 2.包web_xx为web层 3.webcontent里面是jsp文件 jsp页面中的请求交付给servlet处理,在实际中 jsp的 ...

  10. jQuery学习之------对标签属性的操作

    jQuery学习之------标签的属性 <a href=””>链接</a>此处的href就是该a标签带有的属性 在js中对标签的属性的操作方法有 1.1getAttribut ...