eWebeditor集成aspjpeg
eWebeditor集成aspjpeg 采用的版本: ewebeditor version 2.8 aspjpeg V1.3
支持添加不同的水印.
相关代码如下:
要修改的页面
eWebeditor目录下 \Dialog\img.htm
注:蓝色的部分为修改和添加的代码.
第256行开始:
<legend>显示效果</legend>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=9 height=5></td></tr>
<tr>
<td width=7></td>
<td>图片水印:</td>
<td width=5></td>
<td colspan=5><select id='d_syy' size=1 onchange='d_file.myform.sy.value=this.value'>
<option selected>无水印</option>
<option value='1'>新浪LOGO</option>
<option value='2'>搜狐LOGO</option>
<option value='3'>网易LOGO</option>
</select></td>
<td width=7></td>
</tr>
<tr>
<td width=7></td>
<td>说明文字:</td>
<td width=5></td>
<td colspan=5><input type=text id=d_alt size=38 value='' style='width:243px'></td>
<td width=7></td>
</tr>
eWebeditor 目录下的 upload.asp
在上传表单添加隐含字段,用于接收选择添加的水印图片
<form action='?action=save&type=<%=sType%>&style=<%=sStyleName%>&sy=1' method=post name=myform enctype='multipart/form-data'>
<input type=file name=uploadfile size=1 style='width:100%'>
<input type='hidden' name='sy'>
</form>
在处理图片上传的SUB中修改如下:
Sub DoSave()
Dim oUpload, oFile, sFileExt, sFileName,sy
' 建立上传对象
Set oUpload = New upfile_class
' 取得上传数据,限制最大上传
oUpload.GetData(nAllowSize*1024)
If oUpload.Err > 0 Then
Select Case oUpload.Err
Case 1
Call OutScript('parent.UploadError('请选择有效的上传文件!')')
Case 2
Call OutScript('parent.UploadError('你上传的文件总大小超出了最大限制(' & nAllowSize & 'KB)!')')
End Select
Response.End
End If
Set oFile = oUpload.File('uploadfile')
sy = oUpload.Form('sy')
sFileExt = UCase(oFile.FileExt)
Call CheckValidExt(sFileExt)
Dim sRnd
Randomize
sRnd = Int(900 * Rnd) + 100
sFileName = year(now) & month(now) & day(now) & hour(now) & minute(now) & second(now) & sRnd & '.' & sFileExt
oFile.SaveToFile Server.Mappath('uploadfile/'& sFileName)
Set oFile = Nothing
Set oUpload = Nothing
'图片打水印
If sy <> '' And Not IsNull(sy) And Not IsEmpty(sy) Then
call CreateView('uploadfile/'& sFileName,sy)
End If
Call OutScript('parent.UploadSaved('' & sFileName & '')')
End Sub
添加水印的SUB
'创建预览图片及打水印:call CreateView(文件的路径,要添加的水印图片文件)
'摘取自动网,清风修改于 04/07/2006
Sub CreateView(imagename,logoimg)
'定义变量
Dim ogvbox,objFont,img
Dim Logobox,LogoPath
Dim sWidth,sHeight '水印图片的宽度和高度
Select Case logoimg
Case '1'
img = '/sy/logo.gif'
sWidth = '87'
sHeight = '52'
Case '2'
img = '/sy/logo1.gif'
sWidth = '149'
sHeight = '39'
Case Else
img = '/sy/logo2.gif'
sWidth = '106'
sHeight = '60'
End Select
LogoPath = Server.MapPath(img) '//加入图片所在路径及文件名
'---------------------AspJpegV1.2---------------
Set Logobox = Server.CreateObject('Persits.Jpeg')
'*添加水印图片 添加时请关闭水印字体*
'//读取添加的图片
Logobox.Open LogoPath
'//重新设置图片的大小
Logobox.Width = sWidth '// 加入图片的原宽度
Logobox.Height = sHeight '// 加入图片的原高度
'*添加水印图片*
Set ogvbox = Server.CreateObject('Persits.Jpeg')
' 读取要处理的原文件
ogvbox.Open Trim(Server.MapPath(imagename))
'ogvbox.Open Trim(imagename)
'If ogvbox.OriginalWidth<Cint(ImageWidth) or ogvbox.Originalheight<Cint(ImageHeight) Then
'F_Viewname=''
'Set ogvbox = Nothing
'Exit Sub
'Else
'//关于修改字体及文字颜色的
'ogvbox.Canvas.Font.Color = &HFF0000 '// 文字的颜色
'ogvbox.Canvas.Font.Family = 'monospace' '// 文字的字体
'ogvbox.Canvas.Font.Bold = True
'Draw frame: black, 2-pixel width
'ogvbox.Canvas.Print 10, 10, ImageMode '// 加入文字的位置坐标
ogvbox.Canvas.Pen.Color = &HFFFFFF '// 边框的颜色
ogvbox.Canvas.Pen.Width = 0 '// 边框的粗细
ogvbox.Canvas.Brush.Solid = False '// 图片边框内是否填充颜色
ogvbox.DrawImage ogvbox.Width/1.6, ogvbox.Height/1.5, Logobox, 0.4, &HFFFFFF '// 加入图片的位置价坐标(添加水印图片)
ogvbox.Canvas.Bar 0, 0, ogvbox.Width, ogvbox.Height '// 图片边框线的位置坐标
ogvbox.Width = ogvbox.Width
ogvbox.height = ogvbox.height
'ogvbox.height = ogvbox.Originalheight*ImageWidth\ogvbox.OriginalWidth
ogvbox.Sharpen 1, 120
ogvbox.Save Server.MapPath(imagename) '// 生成文件
'End If
Set Logobox=Nothing
End Sub
以上代码在win2k Server IIS5和WIN2003 IIS6平台上测试成功!
有问题请指出!