设为首页
加入收藏
帮助中心
首页 | 红盾通告 | 信息中心 | ASP技术 | 数据库 | 网页设计 | 网管专栏 | OICQ攻略 | 墨客频道 | 网站运营 |
当前位置:首页 >> ASP技术 >> ASP应用 >> 正文
最新信息
·asp无限级分类加js收缩伸展…
·ASP读取EXCEL数据
·ASP编程操作Excel
·ASP编写了一个EXCEL上传程…
·ASP如何读取EXCEL工作表名…
·ASPJpeg和ASPUpload组件的…
·用ASP和SQL语句动态的创建…
·asp生成excel报表
·四大 FCKeditor 实战应用技…
·FCKeditor 2.0 的设置.修改…
资料搜索
热点信息
·asp生成excel报表
·Javascript+ASP制作树形菜…
·AspUpload组件的UploadedF…
·ASPJpeg和ASPUpload组件的…
·FckEditor中文配置手册详细…
·ASPUpload组件介绍
·金光ASP柱形图程序
·asp生成不重复的随机数字
·ASP读取EXCEL数据
·0-29内取15个不同的随机数…
推荐信息
·用ASP生成二维饼图
·一个取图片尺寸的类,支持…
·随即文件名
·ASP 随机图片
·本地图片,音乐等ASP防盗代…
·ASPJpeg和ASPUpload组件的…
·如何实现网上考试?
·用ASP打开远端MDB文件的方…
·ASP编写完整的一个IP所在地…
·用ASP实现远程批量文件改名


Google
 
Aspjpeg添加水印完整方法
〖编辑:Cloudy | 浏览:人次〗

为图片加入水印功能
<%
Dim Jpeg
\\\'' 建立实例
Set Jpeg = Server.CreateObject("Persits.Jpeg")
\\\'' 打开目标图片
Jpeg.Open Server.MapPath("images/dodge_viper.jpg")

\\\'' 添加文字水印
Jpeg.Canvas.Font.Color = &HFF0000\\\'' 红色
Jpeg.Canvas.Font.Family = "宋体"
Jpeg.Canvas.Font.Bold = True 
Jpeg.Canvas.Print 10, 10, "Copyright (c) Cnmaya.org"

\\\'' 保存文件
Jpeg.Save Server.MapPath("images/dodge_viper_framed.jpg")

\\\'' 注销对象
Set Jpeg = Nothing
%>


上次做过图片水印,效果很差,没办法把图片弄成背景透明的,用背景透明gif会自动填充成白色。用去掉某种颜色的功能,图片颜色总是不纯,出来的效果斑斑点点。今天灵机一动,把这两个结合起来,用背景透明的gif,并且抽取水印底色,果然成功了!

   ogvbox.Canvas.Pen.Color  = &H000000  \\\''// 边框的颜色
   ogvbox.Canvas.Pen.Width  = 1    \\\''// 边框的粗细
   ogvbox.Canvas.Brush.Solid = False   \\\''// 图片边框内是否填充颜色
   ogvbox.DrawImage ogvbox.Width-210, ogvbox.Height-74, Logobox  ,0.3,&HFFFFFF    \\\''// 加入图片的位置坐标(添加水印图片),我用图片大小减去水印大小,把水印加在右下角。参数顺序为:水平坐标,垂直坐标,水印图片地址,水银透明度,抽取颜色(&H表示16进制)
   ogvbox.Canvas.Bar 0, 0, ogvbox.Width, ogvbox.Height \\\''// 图片边框线的位置坐标和大小
   ogvbox.Save Server.MapPath(imagename)  \\\''// 生成文件
\''//------Pollener.com AspJpeg组件的预览和水印生成------开始------
\''创建预览图片:call CreateView(原始文件的路径,预览文件名及路径)
Sub CreateView(imagename,tempFilename)
\''定义变量。
Dim PreviewImageFolderName
Dim ogvbox,objFont
Dim Logobox,LogoPath
LogoPath = Server.MapPath("images") & "\\shuiyin.gif"  \''//加入图片所在路径及文件名(我的是论坛\\images\\shuiyin.gif)。

Select Case upload_ViewType
Case 0
\''---------------------CreatePreviewImage---------------
set ogvbox = Server.CreateObject("CreatePreviewImage.cGvbox")
ogvbox.SetSavePreviewImagePath=Server.MapPath(tempFilename)   \''预览图存放路径。
ogvbox.SetPreviewImageSize =SetPreviewImageSize      \''预览图宽度。
ogvbox.SetImageFile = trim(Server.MapPath(imagename))    \''imagename原始文件的物理路径。
\''创建预览图的文件。
If ogvbox.DoImageProcess=false Then
Response.write "生成预览图错误:"& ogvbox.GetErrString
End If
Case 1
\''---------------------AspJpegV1.2---------------
Set Logobox = Server.CreateObject("Persits.Jpeg")
\''//建议不要图片和文字水印同时使用,本代码为使用图片水印。
Logobox.Open LogoPath  \''//读取添加的图片。

\''//重新设置图片的大小。
Logobox.Width = 186  \''//用做水印的图片的宽度值(像素)。
Logobox.Height = 52  \''//用做水印的图片的高度值(像素)。
\''//添加水印。
Set ogvbox = Server.CreateObject("Persits.Jpeg")
\''//读取要处理的原文件。
ogvbox.Open Trim(Server.MapPath(imagename))
If ogvbox.OriginalWidth<Cint(ImageWidth) or ogvbox.Originalheight<Cint(ImageHeight) Then
 F_Viewname=""
 Set ogvbox = Nothing
 Exit Sub
Else
IF ImageMode<>"" and FileExt<>"gif" Then  \''//如果将这行改为IF ImageMode<>"" Then则可给上传的GIF图片也加上水印,但是那些动画的GIF在加了水印以后就只剩第一桢了,根据你的需求酌情处理吧。

\''//关于修改字体及文字颜色的。
\''//ogvbox.Canvas.Font.Color = &H0000FF  \''//水印文字的颜色,&H后面输入色彩值。
\''//ogvbox.Canvas.Font.Size = 18  \''//水印文字的大小。
\''//ogvbox.Canvas.Font.Family = "Arial"  \''//水印文字的字体名称。
\''//ogvbox.Canvas.Font.ShadowColor = &H000000  \''//水印文字的阴影色彩。
\''//ogvbox.Canvas.Font.ShadowXoffset = 1  \''//水印文字阴影向右偏移的像素值,输入负值则向左偏移。
\''//ogvbox.Canvas.Font.ShadowYoffset = 1  \''//水印文字阴影向下偏移的像素值,输入负值则向右偏移。
\''//ogvbox.Canvas.Font.Quality = 3  \''//水印文字的清晰度,从0~4,变换不是很大,建议用2或3。
\''//ogvbox.Canvas.Font.Bold = True  \''//水印文字是否为粗体,True=粗体 False=正常。

\''ogvbox.Canvas.Print 10, 10, ImageMode  \''//水印文字的起始坐标(像素)。
ogvbox.Canvas.Pen.Color  = &H000000  \''//增加水印后图片的边框色彩。
ogvbox.Canvas.Pen.Width  = 1   \''//增加水印后图片的边框宽度。
ogvbox.Canvas.Brush.Solid = False  \''//边框内是否填充颜色,你可以试试看值为True时的效果^o^
ogvbox.DrawImage ogvbox.width-186, ogvbox.height-52, Logobox, 0.5  \''//水印图片的起始坐标,我这里ogvbox.width-186, ogvbox.height-52,表示图片在右下角,因为我的图片宽是186,高是52,所以这样写,你可以根据自己的图片进行调整。0.5是透明度,我这里是半透明,1表示不透明,你也可以试试看0.7或者0.8的效果。
ogvbox.Canvas.Bar 0, 0, ogvbox.Width, ogvbox.Height  \''//水印可用的范围。我这里表示左上角至右下角,即整张图片的任意为止都可加水印。
ogvbox.Save Server.MapPath(imagename)  \''//根据以上参数生成增加水印后的图片文件。
  End If
  ogvbox.Width = ImageWidth
  ogvbox.height = ImageHeight
  \''ogvbox.height = ogvbox.Originalheight*ImageWidth\\ogvbox.OriginalWidth
  ogvbox.Sharpen 1, 120
  ogvbox.Save Server.MapPath(tempFilename)  \''//生成增加水印后的图片的预览图片。
 End If
 Set Logobox=Nothing


录入时间:2006-11-06 08:39:06 [打印本页] [关闭窗口] [返回顶部]
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

Copyright © 2006-2014 0733168.Com Inc All Rights Reserved
关于我们 | 广告合作 | 联系我们 | 法律声明 | 友情链接 | 意见反馈
本站所收录信息、社区话题、及本站所做之广告均属其个人行为,与本站立场无关
湘ICP备06008436号