百度编辑器本身是没有为上传图片加入水印的功能,想要在上传的时候加入图片水印,也非常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. SpringBoot传参转换枚举

    有时候,我们传参的时候,希望使用枚举类来当作参数 public enum VipEnum { HUANG(1, "黄钻"), HONG(2, "红钻"); pr ...

  2. 几个net命令

    A.显示当前工作组服务器列表 net view,当不带选项使用本命令时,它就会显示当前域或网络上的计算机上的列表.  比如:查看这个IP上的共享资源,就可以  C:\\>net view 192 ...

  3. bash之数组

    Bash 提供索引和联想的一维数组变量.可用作任何变量 索引的数组 :内置的声明将显式声明数组.有没有最大限制 一个数组,也没有要求成员将索引或连续分配的大小.索引的数组 引用使用 (包括算术表达式) ...

  4. Vue+Bootstrap实现购物车程序(2)

    先简单看下效果图:(在原先基础上添加了删除和筛选操作) 代码: <!DOCTYPE html> <html> <head lang="en"> ...

  5. JavaSE-19 IO

    学习要点 File类操作文件和目录的属性 字节流读写文件 字符流读写文件 字节流读写二进制文件 文件操作 1  文件的定义 文件可认为是相关记录或放在一起的数据的集合.文件一般保存在硬盘.U盘.光盘. ...

  6. PHP 下基于 php-amqp 扩展的 RabbitMQ 简单用例 (一) -- 安装 AMQP 扩展和 Direct Exchange 模式

    Windows 安装 amqp 扩展 RabbitMQ 是基于 amqp(高级消息队列协议) 协议的.使用 RabbitMQ 前必须为 PHP 安装相应的 amqp 扩展. 下载相应版本的 amqp ...

  7. 获取url上的参数

    var aa = '?name=hss&age=13';        function strToObj(str){            if(typeof str === 'undefi ...

  8. 2019浙师大校赛(浙大命题)(upc复现赛)总结

    2019浙师大校赛(浙大命题)(upc复现赛)总结 早上九点开始.起得迟了,吃了早饭慌慌张张跑过去,刚到比赛就开始了. 开始分别从前往后和从后往前看题,一开始A题,第一发WA,第二次读题发现漏看了还有 ...

  9. [JOYOI] 1052 没有上司的舞会

    / Joy OI / 题目列表 / 没有上司的舞会 题目限制 时间限制 内存限制 评测方式 题目来源 1000ms 131072KiB 标准比较器 Local 题目描述 Ural大学有N个职员,编号为 ...

  10. <Linux> 下安装和卸载JDK

    安装 下载jdk https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 在local ...