首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

关于aspjpeg:为什么小弟我做的水印这么差

2012-07-16 
关于aspjpeg:为什么我做的水印这么差?这个是我想要的效果。这种外面加白框的,也是我想实现的。以下是我现在

关于aspjpeg:为什么我做的水印这么差?

这个是我想要的效果。


这种外面加白框的,也是我想实现的

以下是我现在的,很差:
----------------------------------

这个水印图片用的是gif,效果很差


这个水印图片用的是png,更是不可理喻


这个是文字水印,不论我设什么字体,他都这样字体


我想要的字体是这三种中的任一一种。
另外,能给黑字体外再加个白框么?

以下是我的aspjpeg参数配置,请高手帮我看看应该怎么修改,才能实现上面几种我想要的效果。谢谢
--------------------------------
参数:
sSYText = "www.google.com"
  sSYFontColor = "000000"
  nSYFontSize = Clng("24")
  sSYFontName = "Verdana, Arial, Helvetica, sans-serif"
  sSYPicPath = "../imgs/wa.png"
  nSYMinSize = Clng("300")
  sSYShadowColor = "FFFFFF"
  nSYShadowOffset = Clng("2")
  sSYTextWidth = Clng("200")'文字水印宽、高
  nSYTextHeight = Clng("40")
  sSYPicWidth = Clng("20")'图片水印右边距、底边距
  nSYPicHeight = Clng("20")
  nSYalpha = 1

文字水印:
Jpeg.Canvas.Font.Color ="&H"&sSYFontColor 
  Jpeg.Canvas.Pen.Color ="&H"&sSYFontColor
  Jpeg.Canvas.Font.Family = "'"& sSYFontName &"'"
  Jpeg.Canvas.Font.Bold = True
  Jpeg.Canvas.Font.Size = nSYFontSize 
  Jpeg.Canvas.Font.BkColor=&H5FD211
  Jpeg.Canvas.Font.Quality = 4 '0 (Default), 1 (Draft), 2 (Proof), 3 (Non-Antialiased), 4 (Antialiased) 
  Jpeg.Canvas.Font.BkMode = "Transparent" ' to make antialiasing work
  Jpeg.Canvas.Print Jpeg.OriginalWidth-sSYTextWidth, Jpeg.OriginalHeight-nSYTextHeight, sSYText

  Jpeg.Canvas.Pen.Color ="&H"&sSYShadowColor 
  Jpeg.Canvas.Pen.Width = nSYShadowOffset
  Jpeg.Canvas.Brush.Solid = False 
  Jpeg.Canvas.DrawBar nSYShadowOffset, nSYShadowOffset, Jpeg.Width, Jpeg.Height

图片水印:
Jpeg.Canvas.Pen.Color = &HFFFFFF 
  Jpeg.Canvas.Pen.Width = 0  
  Jpeg.Canvas.Brush.Solid = False  
  Jpeg.Canvas.Bar 0, 0, Jpeg.Width, Jpeg.Height 
  Jpeg.Width = Jpeg.Width
  Jpeg.height = Jpeg.height
  Jpeg.Sharpen 1, 120
  Jpeg.DrawImage Jpeg.Width-Jpeg1.Width-sSYPicWidth, Jpeg.Height-Jpeg1.Height-nSYPicHeight, Jpeg1, nSYalpha, &HFFFFFF

[解决办法]



我想这2张都应该是图片的水印。
[解决办法]
<% 
LocalFile="d:\mytest.jpg" 
TargetFile="d:mytest_Text.jpg" 
Dim Jpeg 
Set Jpeg = Server.CreateObject("Persits.Jpeg") 
If -2147221005=Err then 
Response.write "没有这个组件,请安装!" ’检查是否安装AspJpeg组件 
Response.End() 
End If 
Jpeg.Open (LocalFile) ’打开图片 
If err.number then 
Response.write"打开图片失败,请检查路径!" 
Response.End() 
End if 
Dim aa 
aa=Jpeg.Binary ’将原始数据赋给aa 
’=========加文字水印================= 
Jpeg.Canvas.Font.Color = &Hfffffff ’水印文字颜色 
Jpeg.Canvas.Font.Family = Arial ’字体 
Jpeg.Canvas.Font.Bold = True ’是否加粗 
Jpeg.Canvas.Font.Size = 35 ’字体大小 
Jpeg.Canvas.Font.ShadowColor = &H000000 ’阴影色彩 
Jpeg.Canvas.Font.ShadowYOffset = 1 
Jpeg.Canvas.Font.ShadowXOffset = 1 
Jpeg.Canvas.Brush.Solid = True 
Jpeg.Canvas.Font.Quality = 4 ’ ’输出质量 
Jpeg.Canvas.PrintText Jpeg.OriginalWidth/2-100,Jpeg.OriginalHeight/2+20,"www.sotuku.com" ’水印位置及文字 


bb=Jpeg.Binary ’将文字水印处理后的值赋给bb,这时,文字水印没有不透明度 
’============调整文字透明度================ 
Set MyJpeg = Server.CreateObject("Persits.Jpeg") 
MyJpeg.OpenBinary aa 
Set Logo = Server.CreateObject("Persits.Jpeg") 
Logo.OpenBinary bb 
MyJpeg.DrawImage 0,0, Logo, 0.2 ’0.3是透明度 
cc=MyJpeg.Binary ’将最终结果赋值给cc,这时也可以生成目标图片了 
response.BinaryWrite cc ’将二进输出给浏览器 
MyJpeg.Save (TargetFile) 
set aa=nothing 
set bb=nothing 
set cc=nothing 
Jpeg.close 
MyJpeg.Close 
Logo.Close 
%>
[解决办法]
用这种方法试试。

VBScript code
<%function printwater(waterpath,upfilepath)Dim Logobox,LogoPath,ogvboxLogoPath = Server.MapPath(waterpath)Set Logobox = Server.CreateObject("Persits.Jpeg")Logobox.Open LogoPathLogobox.Width = 179Logobox.Height = 60Set ogvbox = Server.CreateObject("Persits.Jpeg")ogvbox.Open Trim(Server.MapPath(upfilepath))ogvbox.Canvas.Pen.Color  = &H000000  '//增加水印后图片的边框色彩。ogvbox.Canvas.Pen.Width  = 1   '//增加水印后图片的边框宽度。ogvbox.Canvas.Brush.Solid = False  '//边框内是否填充颜色,你可以试试看值为True时的效果^o^ogvbox.DrawImage ogvbox.width-179, ogvbox.height-60, Logobox, 0.6ogvbox.Canvas.Bar 0, 0, ogvbox.Width, ogvbox.Heightogvbox.Save Server.MapPath(upfilepath)Set Logobox=NothingSet ogvbox=Nothingend function'waterpath为用于水印的LOGO图片位置,upfilepath为刚刚上传的图片位置,均用相对路径即可printwater waterpath,upfilepath%> 

热点排行