百度编辑器本身是没有为上传图片加入水印的功能,想要在上传的时候加入图片水印,也非常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. 1433端口无法连接(sql server 数据库无法访问问题)解决思路

    登录远程SQL服务器一 看ping 服务器IP能否ping通. 这个实际上是看和远程sql server 2000服务器的物理连接是否存在.如果不行,请检查网络,查看配置,当然得确保远程sql ser ...

  2. 转:谈谈iOS中粘性动画以及果冻效果的实现

    在最近做个一个自定义PageControl——KYAnimatedPageControl中,我实现了CALayer的形变动画以及CALayer的弹性动画,效果先过目: 先做个提纲: 第一个分享的主题是 ...

  3. 6-Java-C(无穷分数)

    题目描述: 无穷的分数,有时会趋向于固定的数字. 请计算[图1.jpg]所示的无穷分数,要求四舍五入,精确到小数点后5位,小数位不足的补0. 请填写该浮点数,不能填写任何多余的内容. 正确算法: 此题 ...

  4. NLog小记

    NLog安装: Install-Package NLog NLog配置: <?xml version="1.0" encoding="utf-8" ?&g ...

  5. mysql安装及navicat连接

    1.下载mysql官方连接:https://dev.mysql.com/downloads/mysql/ 下载成功后,解压到自己想要的路径下并创建my.ini文件和配置环境变量 然后我们在根目录下创建 ...

  6. iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决

    〇.前言 <p>在iOS开发中 CocoaPods作为库依赖管理工具就是一把利器. 有了 CocoaPods则无需再通过拖 第三方库及第三方库所依赖的 framework静态库到项目中等麻 ...

  7. linux如何正确设置静态ip

    如果是新安装的CentOS7的用户,刚开始应该是没网的,ifconfig命令在CentOS7已经被淘汰了. 1.使用ip addr 即查看分配网卡情况. 2.激活网卡 [root@localhost ...

  8. c++基础_01字串

    #include <iostream> using namespace std; int main(){ for(int a=0;a<=1;a++){ for(int b=0;b&l ...

  9. python爬取百度文库所有内容

    转载自 GitHub 的 Jack-Cherish 大神 基本环境配置 版本:python3 系统:Windows 相关模块: import requests import re import jso ...

  10. 79-Envelopes,包络指标.(2015.7.1)

    Envelopes 包络指标 观井映天 2015.7.1