• 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="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="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平台上测试成功!

    有问题请指出!

  • 相关阅读:
    全站导航
    常用模块
    模块的引用的路径的查找
    类的魔术方法
    包装和授权
    类内置的attr属性
    反射
    三大特性之多态
    三大特性之封装
    python应用:爬虫框架Scrapy系统学习第二篇——windows下安装scrapy
  • 原文地址:https://www.cnblogs.com/ourwap/p/1226241.html
Copyright © 2020-2023  润新知