为FCKeditor的图片上传增加水印功能
Tag: | Author: 老蒋 |
为FCKeditor的图片上传增加水印功能
实现功能:
上传图片可以选择是不是要加入水印
可以选择加入文本水印还是图片水印
如果选择文本水印可以自定义输入
如果没有输入则加入默认的文本水印
- editor\dialog\fck_image.html
- 找到<span fckLang="DlgLnkUpload">Upload</span><br />
- 其后加入
- <input type="checkbox" name="C1" value="ON"><span fckLang="DlgLnkUploadwm">WaterMark</span>
- <input type="radio" value="V1" checked name="R1"><span fckLang="DlgLnkUploadwmtext">Text</span>
- <input type="text" name="T1" size="20">
- <input type="radio" value="V2" name="R1"><span fckLang="DlgLnkUploadwmpic">Picture</span><br />
- editor\filemanager\browser\default\frmupload.html
- 找到document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
- 换成
- document.getElementById('eUploadMessage').innerHTML = 'Upload' ;
- 找到<span id="eUploadMessage">Upload a new file in this folder</span><br>
- 换成
- <span id="eUploadMessage">Upload</span>
- <input type="checkbox" name="C1" value="ON">WaterMark
- <input type="radio" value="V1" checked name="R1">Text
- <input type="text" name="T1" size="20">
- <input type="radio" value="V2" name="R1">Picture
- <br>
- editor\filemanager\browser\default\connectors\php\commands.php
- 找到
- break ;
- }
- }
- 在其后加入
- if($_POST['C1']=="ON")
- {
- $watermark=1; //是否附加水印(1为加水印,其他为不加水印);
- }
- else
- {
- $watermark=2;
- }
- if($_POST['R1']=="V1")
- {
- $watertype=1; //水印类型(1为文字,2为图片)
- }
- else
- {
- $watertype=2;
- }
- if($_POST['T1']=="")
- {
- $waterstring="http://blog.jj.xm.fj.cn/"; //水印字符串
- }
- else
- {
- $waterstring=$_POST['T1'];
- }
- $waterimg="xinxin.gif"; //水印图片
- if($watermark==1)
- {
- $image_size = getimagesize($sFilePath);
- $iinfo=getimagesize($sFilePath,$iinfo);
- $nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
- $white=imagecolorallocate($nimage,255,255,255);
- $black=imagecolorallocate($nimage,0,0,0);
- $red=imagecolorallocate($nimage,255,0,0);
- imagefill($nimage,0,0,$white);
- switch ($iinfo[2])
- {
- case 1:
- $simage =imagecreatefromgif($sFilePath);
- break;
- case 2:
- $simage =imagecreatefromjpeg($sFilePath);
- break;
- case 3:
- $simage =imagecreatefrompng($sFilePath);
- break;
- // case 6:
- // $simage =imagecreatefromwbmp($sFilePath);
- // break;
- default:
- die("不支持的文件类型");
- exit;
- }
- imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);
- imagefilledrectangle($nimage,1,$image_size[1]-15,0,$image_size[1],$white);
- switch($watertype)
- {
- case 1: //加水印字符串
- imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
- break;
- case 2: //加水印图片
- $simage1 =imagecreatefromgif($waterimg);
- imagecopy($nimage,$simage1,0,0,0,0,85,30);
- imagedestroy($simage1);
- break;
- }
- switch ($iinfo[2])
- {
- case 1:
- imagegif($nimage, $sFilePath);
- // imagejpeg($nimage, $sFilePath);
- break;
- case 2:
- imagejpeg($nimage, $sFilePath);
- break;
- case 3:
- imagepng($nimage, $sFilePath);
- break;
- // case 6:
- // imagewbmp($nimage, $sFilePath);
- // //imagejpeg($nimage, $sFilePath);
- // break;
- }
- //覆盖原上传文件
- imagedestroy($nimage);
- imagedestroy($simage);
- }
- 将xinxin.gif水印文件COPY到这个目录
- editor\filemanager\upload\php\upload.php
- 找到
- break ;
- }
- }
- 其后加入
- if($_POST['C1']=="ON")
- {
- $watermark=1; //是否附加水印(1为加水印,其他为不加水印);
- }
- else
- {
- $watermark=2;
- }
- if($_POST['R1']=="V1")
- {
- $watertype=1; //水印类型(1为文字,2为图片)
- }
- else
- {
- $watertype=2;
- }
- if($_POST['T1']=="")
- {
- $waterstring="http://blog.jj.xm.fj.cn/"; //水印字符串
- }
- else
- {
- $waterstring=$_POST['T1'];
- }
- $waterimg="xinxin.gif"; //水印图片
- if($watermark==1)
- {
- $image_size = getimagesize($sFilePath);
- $iinfo=getimagesize($sFilePath,$iinfo);
- $nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
- $white=imagecolorallocate($nimage,255,255,255);
- $black=imagecolorallocate($nimage,0,0,0);
- $red=imagecolorallocate($nimage,255,0,0);
- imagefill($nimage,0,0,$white);
- switch ($iinfo[2])
- {
- case 1:
- $simage =imagecreatefromgif($sFilePath);
- break;
- case 2:
- $simage =imagecreatefromjpeg($sFilePath);
- break;
- case 3:
- $simage =imagecreatefrompng($sFilePath);
- break;
- // case 6:
- // $simage =imagecreatefromwbmp($sFilePath);
- // break;
- default:
- die("不支持的文件类型");
- exit;
- }
- imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);
- imagefilledrectangle($nimage,1,$image_size[1]-15,0,$image_size[1],$white);
- switch($watertype)
- {
- case 1: //加水印字符串
- imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
- break;
- case 2: //加水印图片
- $simage1 =imagecreatefromgif($waterimg);
- imagecopy($nimage,$simage1,0,0,0,0,85,30);
- imagedestroy($simage1);
- break;
- }
- switch ($iinfo[2])
- {
- case 1:
- imagegif($nimage, $sFilePath);
- // imagejpeg($nimage, $sFilePath);
- break;
- case 2:
- imagejpeg($nimage, $sFilePath);
- break;
- case 3:
- imagepng($nimage, $sFilePath);
- break;
- // case 6:
- // imagewbmp($nimage, $sFilePath);
- // //imagejpeg($nimage, $sFilePath);
- // break;
- }
- //覆盖原上传文件
- imagedestroy($nimage);
- imagedestroy($simage);
- }
- 将水印文件XINXIN.GIF COPY到这个目录
- editor\lang\en.js
- 找到
- DlgLnkBtnUpload : "Send it to the Server",
- 其后加入
- DlgLnkUploadwm : "WaterMark",
- DlgLnkUploadwmtext : "Text",
- DlgLnkUploadwmpic : "Picture",
- editor\lang\zh-cn.js
- 找到
- DlgLnkBtnUpload : "发送到服务器上",
- 其后加入
- DlgLnkUploadwm : "是否加水印",
- DlgLnkUploadwmtext : "文本",
- DlgLnkUploadwmpic : "图片",
Leave a comment
您必须 登录 后才能发表留言。