百度编辑器ueditor给上传的图片加入水印
百度编辑器本身是没有为上传图片加入水印的功能,想要在上传的时候加入图片水印,也非常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给上传的图片加入水印的更多相关文章
- thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印
今天分享一下thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印.博主是新手,在这里卡住了很久(>_<) thinkphp 3.2.3整合ueditor 1.4 下载 ...
- SouthidcEditor编辑器如何支持上传png图片
SouthidcEditor编辑器如何支持上传png图片? asp网站一般都是用的南方数据SouthidcEditor编辑器,可是这个编辑器上传图片功能不能上传png类型的图片,那怎么办?我(红蜘蛛网 ...
- 【完整靠谱版】结合公司项目,仔细总结自己使用百度编辑器实现FTP上传的完整过程
说在前面 工作中会遇到很多需要使用富文本编辑器的地方,比如我现在发布这篇文章离不开这个神器,而且现在网上编辑器太多了.记得之前,由于工作需要自己封装过一个编辑器的公共插件,是用ckeditor改版的, ...
- ueditor批量上传word图片
图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM ...
- 百度编辑器ueditor批量上传图片或者批量上传文件时,文件名称和内容不符合,错位问题
百度编辑器ueditor批量上传附件时,上传后的文件和实际文件名称错误,比如实际是文件名“dongcoder.xls”,上传后可能就成了“懂客.xls”.原因就是,上传文件时是异步上传,同时进行,导致 ...
- .net mvc4 利用 kindeditor 上传本地图片
http://blog.csdn.net/ycwol/article/details/41824371?utm_source=tuicool&utm_medium=referral 最近在用k ...
- 解决:百度编辑器UEditor,怎么将图片保存到图片服务器,或者上传到ftp服务器的问题(如果你正在用UE,这篇文章值得你看下)
在使用百度编辑器ueditor的时候,怎么将图片保存到另一个服务器,或者上传到ftp服务器?这个问题,估计很多使用UE的人会遇到.而且我百度过,没有找到这个问题的解决方案.那么:本篇文章就很适合你了. ...
- asp.net 百度编辑器 UEditor 上传图片 图片上传配置 编辑器配置 网络连接错误,请检查配置后重试
1.配置ueditor/editor_config.js文件,将 //图片上传配置区 ,imageUrl:URL+"net/imageUp.ashx" //图片上传提交地址 ,im ...
- dedecmsV5.7 百度编辑器ueditor 多图上传 在线管理 排序问题
问题:dedecms后台百度编辑器ueditor的多图上传-在线管理的图片排序有问题,想把这个顺序调成按照文件修改时间倒序来展示 解决方法: 1.打开/include/ueditor/php/acit ...
随机推荐
- emil 的使用
摘抄自别人 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两个部分,邮件头和邮件体之间使用空行分隔. 邮件头包含的内容有: from字段 --用于指明发 ...
- Hadoop推测执行机制问题
问题描述:MultipleOutputs使用时hdfs报错 // :: INFO mapreduce.Job: Task Id : attempt_1525336138932_1106 ...
- Vue+Bootstrap实现购物车程序(1)
先看下案例效果:(简单的数量控制及价格运算) 代码: <!DOCTYPE html> <html> <head lang="en"> <m ...
- 【JavaScript从入门到精通】第一课
第一课 初探JavaScript魅力-01 JavaScript是什么 如今我们打开一个大型的网站,都会有很多JS效果的功能和应用.对于学过CSS+HTML的同学,即使是像淘宝那样的网站,用一两天时间 ...
- filezilla server FTP 安装报错 "could not load TLS network. Aborting start of administration interface"
filezilla server FTP 安装报错 "could not load TLS network. Aborting start of administration inter ...
- HDU - 4514 湫湫系列故事——设计风景线(并查集判环)
题目: 随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好. 现在已经勘探确定了n ...
- CSU 2018年12月月赛 G(2219): Coin
Description 有这样一个众所周知的问题: 你面前有7个硬币,其中有一个劣质的(它比正常的硬币轻一点点),你有一个天平,问需要你需要使用天平多少次能保证找到那个劣质的硬币. 众所周知的算法是: ...
- 2018湖南省第14届大学生计算机程序设计竞赛 A字符画
Description 读入 w,请输出 2018 的字符画,两个数字之间有 w 个空格.具体格式请参考样例输出. 1 ≤ w ≤ 2018 Input 输入文件只包含 1 个整数 w. Output ...
- 零基础入门学习Python(26)--字典:当索引不好用时2
知识点 删除字典元素 能删单一的元素也能清空字典,清空只需一项操作. 显示删除一个字典用del命令,如下: >>> dict1 = {'a':1,'b':2,'c':3} >& ...
- kubernetes 知识点及常用命令
一.附上一个Deployment文件 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selec ...