添加图片水印设置透明度问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了添加图片水印设置透明度问题相关的知识,希望对你有一定的参考价值。
<%
Set ImageObj = Server.CreateObject("Persits.Jpeg")
ImageObj.Open Trim(Server.MapPath(savepath&FileName))
Set Logobox = Server.CreateObject("Persits.Jpeg")
'//读取添加的图片
Logobox.Open Server.MapPath("logobg.gif")
'Logobox.Width =Logobox.originalwidth '// 加入图片的原宽度
'Logobox.Height =Logobox.originalheight'// 加入图片的原高度
'x=cint((ImageObj.originalwidth-logobox.Width)/2)
'y=cint((ImageObj.originalheight-logobox.Height)/2)
Logobox.Height=30
Logobox.Width=imageObj.originalwidth
x=0
y=cint((ImageObj.originalheight-logobox.Height)/2)
ImageObj.DrawImage x, y, Logobox,1,0.60,&Hffffff'// 加入图片的位置价坐标(添加水印图片)
'=========
logobox.open Server.MapPath("logo.jpg")
Logobox.Width =Logobox.originalwidth '// 加入图片的原宽度
Logobox.Height =Logobox.originalheight'// 加入图片的原高度
x=cint((ImageObj.originalwidth-logobox.Width)/2)
y=cint((ImageObj.originalheight-logobox.Height)/2)
ImageObj.DrawImage x, y, Logobox,1,0.60,&Hffffff'// 加入图片的位置价坐标(添加水印图片)
'ImageObj.Sharpen 1, 130
ImageObj.Save Server.MapPath(savepath&FileName)
Set Logobox=Nothing
set ImageObj=nothing
%>
以上是偶在添加图片水印时用的,水印可以添加上去,但是有一个问题请高手帮忙:
就是添加的水印不能是半透明的,是不是ImageObj.DrawImage x, y, Logobox,1,0.60,&Hffffff最后两个参数设置的问题,还是怎么样啊。我想要的效果是图片上加一个似有似无的半透明图片,结果是这样的(这个图片)http://www.lcssc.cn/wz/shidiao/admin/uploadfile/product/浪潮英信SP3000-price.gif,而我想的效果是类似这个图片水印(来自新浪)http://www.lcssc.cn/wz/shidiao/admin/uploadfile/product/573c3c790104hypj.jpg
送200分
我想要的效果是这样的,大家看怎么做http://www.fireplace-carving.com/images/construction/window/window-surround-1.jpg
不懂你咋写的
我写的是
ImageObj.DrawImage X,Y,SmPic,0.5,&HFFFFFF
X-X坐标
Y-Y坐标
SmPic-水印图片路径 如11.gif
0.5-透明度
&HFFFFFF-要去除的水印图片的背景色
你应该是背景色这里设置错了
我的11.gif背景色为白色
所以在添加水印的时候 先把水印的白色背景&HFFFFFF去除变成透明的 再把水印图片和目标图片合并在一起
就达到你想要的那种效果 还不行的话加msn xjzb@hotmail.com 参考技术A ASP给图片加水印是需要组件的...常用的有aspjpeg软件和中国人自己开发的wsImage软件,可以上网搜索下载这两个软件,推荐使用咱们中国人自己开发的wsImage,毕竟是中文版,容易操作.
注册组件的方法:
命令提示符下输入"regsvr32 [Dll路径]" 就可以了.
图片添加水印无非就是获得图片大小,然后把水印写上去..ASP代码只是起个控制组件的作用.用代码来说明一切吧.
一:获得图片大小(这里是用象素值表示的.学PhotoShop的朋友都应该明白)
<%
set obj=server.CreateObject("wsImage.Resize") ''调用组件
obj.LoadSoucePic server.mappath("25.jpg") ''打开图片,图片名字是25.jpg
obj.GetSourceInfo iWidth,iHeight
response.write "图片宽度:" & iWidth & "<br>" ''获得图片宽度
response.write "图片高度:" & iHeight & "<br>" ''获得图片高度
strError=obj.errorinfo
if strError<>"" then
response.write obj.errorinfo
end if
obj.free
set obj=nothing
%>
''----------------------------------------------------------------''
二:添加文字水印
<%
set obj=server.CreateObject("wsImage.Resize")
obj.LoadSoucePic server.mappath("25.jpg") ''装载图片
obj.Quality=75
obj.TxtMarkFont = "华文彩云" ''设置水印文字字体
obj.TxtMarkBond = false ''设置水印文字的粗细
obj.MarkRotate = 0 ''水印文字的旋转角度
obj.TxtMarkHeight = 25 ''水印文字的高度
obj.AddTxtMark server.mappath("txtMark.jpg"), "带你离境", &H00FF00&, 10, 70
strError=obj.errorinfo ''生成图片名字,文字颜色即水印在图片的位置
if strError<>"" then
response.write obj.errorinfo
end if
obj.free
set obj=nothing
%>
''----------------------------------------------------------------''
三:添加图片水印
<%
set obj=server.CreateObject("wsImage.Resize")
obj.LoadSoucePic server.mappath("25.jpg") ''装载图片
obj.LoadImgMarkPic server.mappath("blend.bmp") ''装载水印图片
obj.Quality=75
obj.AddImgMark server.mappath("imgMark.jpg"), 315, 220,&hFFFFFF, 70
strError=obj.errorinfo ''生成图片名字,文字颜色即水印在图片的位置
if strError<>"" then
response.write obj.errorinfo
end if
obj.free
set obj=nothing
%>
''----------------------------------------------------------------''
其实给图片添加水印就这么简单.然后我在说下WsImage.dll组件的另外两个主要用法.包括:
剪裁图片,生成图片的缩略图.
还是以我得习惯,用代码加注释说明:
剪裁图片:
<%
set obj=server.CreateObject("wsImage.Resize")
obj.LoadSoucePic server.mappath("25.jpg")
obj.Quality=75
obj.cropImage server.mappath("25_crop.jpg"),100,10,200,200 ''定义裁减大小和生成图片名字
strError=obj.errorinfo
if strError<>"" then
response.write obj.errorinfo
end if
obj.free
set obj=nothing
%>
详细注释:裁减图片用到了WsImage的CropImage方法.其中定义生成图片时候,100,10是左上角的裁减点,即离图片左边是100象素,顶端10象素.后两个200代表的是裁减的宽带和高和高度.
''----------------------------------------------------------------''
生成图片缩略图:
<%
set obj=server.CreateObject("wsImage.Resize")
obj.LoadSoucePic server.mappath("25.jpg") ''加载图片
obj.Quality=75
obj.OutputSpic server.mappath("25_s.jpg"),0.5,0.5,3 ''定义缩略图的名字即大小
strError=obj.errorinfo
if strError<>"" then
response.write obj.errorinfo
end if
obj.free
set obj=nothing
%>
详细说明:
产生缩略图共有四种导出方式:
(1) obj.OutputSpic server.mappath("25_s.jpg"),200,150,0
200为输出宽,150为输出高,这种输出形式为强制输出宽高,可能引起图片变形。
(2) obj.OutputSpic server.mappath("25_s.jpg"),200,0,1
以200为输出宽,输出高将随比列缩放。
(3) obj.OutputSpic server.mappath("25_s.jpg"),0,200,2
以200为输出高,输出宽将随比列缩放。
(4) obj.OutputSpic server.mappath("25_s.jpg"),0.5,0.5,3
第一个0.5表示生成的缩略图是原图宽的一半,即表示宽缩小比例。
第二个0.5表示生成的缩略图是原图高的一半,即表示高缩小比例。
宽高的缩小比例一致意味着将对原图进行比例缩小。宽高的缩放比例如果大于1,则对原图进行放大。
希望这点技术性文章对你有帮助.
对了,前几天我写了一个小程序,可以通过WEB来批量给自己的图片增加印章,目前此程序已经被站长站和MBSKY收录了,详细内容和下载地址:
参考资料:http://www.mbsky.com/SoftView/SoftView_38956.html
参考技术B ImageObj.DrawImage x, y, Logobox,1,0.60,&Hffffff'// 加入图片的位置价坐标(添加水印图片)DrawImage方法中第四个参数是透明度的,1相当于100%,0.6,相当于60%. 参考技术C jghjjgjhyjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
利用PDF编辑器怎么添加文档中的水印?
快速批量的给PDF文件添加水印的方法,支持图片和文字水印:
步骤1,先下载“优速水印工厂”工具软件,然后安装打开使用。先选择软件界面的“PDF水印”功能,然后点击【添加文件】按钮,将需要添加水印的文件导入到软件中。
步骤2,导入完文件后就可以进行水印设置了,选择水印类型(文字水印或者图片水印),设置多个还是单个水印;然后设置水印的参数:颜色、大小、字体、透明度、旋转角度、水印密度(数量)、位置、边距等参数。上面可以实时预览到水印的效果,方便我们设置。
步骤3,最后在上方设置输出目录(添加水印后文件的保存位置),点击【开始转换】按钮,启动软件加水印程序。添加完水印后软件会自动打开输出目录文件夹,就可以查看文件了。
步骤4,打开一个PDF文件可以看到,所有页面里都成功地添加上了水印。
参考技术A 可以利用adobe acrobat软件进行页眉页脚,水印,背景的批量设置。打开文档在,在菜单栏的文档下拉菜单中你就可以看到页眉页脚设置的菜单,点击添加,就进入设置面板。可以选择设置页眉页脚的页码范围。如果要加横线,估计要用到下划线,因为我没有看到有单独设置横线的。 参考技术B 参考步骤:首先我们将PDF文件导入到迅捷PDF编辑器中,然后进行点击。
接着我们会在PDF编辑器中看到“文档”——“水印”——“添加”进行点击
然后我们点击之,就会跳出一些设置页面,我们将需要添加的水印输入进去就可以确定了
然后点击进行保存既可!本回答被提问者采纳
以上是关于添加图片水印设置透明度问题的主要内容,如果未能解决你的问题,请参考以下文章