
这就是fckeditor编辑器了,当然他的工具可以自己修改代码增加和减少的,好了,闲话少说,PHP如果调用fckeditor,我在这篇文章不详说了,如果有朋友需要的话,我可以把自己设置好的fckeditor上传给大家共享,需要的话在本文章下回复.
现在就回到主题,如查修改fckeditor,把上传的图片加上水印,我的fckeditor是2.6版本的
水印不般分两种,一种是文字水印,一种是图片水印,我就把两种功能全加上,下面说说修改fckeditor
第一文件修改,editor\\dialog\\fck_image.html,找到目录下的这个文件
找到Upload
其后加入
WaterMark
Text
Picture
第二文件修改,editor\\filemanager\\browser\\default\\frmupload.html,找到目录下这个文件
找到document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
换成
document.getElementById('eUploadMessage').innerHTML = 'Upload' ;
找到Upload a new file in this folder
换成
Upload
WaterMark
Text
Picture
第三文件修改处,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://php.tmacn.cn/; //水印字符串
}
else
{
$waterstring=$_POST['T1'];
}
水印图片
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]);
switch($watertype)
{
case 1: //加水印字符串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
break;
case 2: //加水印图片
$simage1 =imagecreatefrompng($waterimg);
imagecopy($nimage,$simage1,10,10,0,0,163,50); //控制水印图片的位置,宽高
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);
}
将水印文件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 : "图片
第四和每五个文件是语言包文件,我只修改英文和简体中文,其它全清了,没怎么会用到,如果大家用其它语言,可以作相应的修改
最后效果图:
文字需录入,这里就不发上来了,本文出自腾马的PHP技术交流,转贴请注明出处
