用AspJpeg调整文字水印透明,生成图片水印的效果

时间:2008-12-29 19:43:00 

公司做了个客户,需要图片生成像alibaba的效果。原来开发的系统都是用Aspjpeg进行缩小图的,现在需要处理图片,当然又想到这个组件。但后来发现,用Aspjpeg进行水印的时候效果总是不理想,特别是图片效果,而文字水印不能调整透明度同样不能满足客户。



  技术支持:
  1、aspjpeg能对图片水印进行透明度调整,不能对文字水印调整,
  2、aspjpeg支持Binary,可以Jpeg.OpenBinary读取,可以Jpeg.sendBinary,也可Jpeg.Binary赋值

  思路:
  1、把原始的图片数据二进制度赋值给aa,
  2、将文字水印处理后的图片数据二进制赋值给bb,
  3、以bb作为"图片水印",附加在aa上,调整透明度,输出就ok了

  思路很简单,代码也很简单:

<% 
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 
%>


  效果图:

标签:水印,透明,AspJpeg,图片
0
投稿

猜你喜欢

  • MySQL的6种日志详解

    2008-12-18 14:36:00
  • SQL Server端口更改后的数据库连接方式

    2008-12-29 14:11:00
  • SQL Server取得网站路径的几种方法及比较

    2008-12-09 14:15:00
  • PHP实现登录的Cookie存储方案详解

    2023-05-25 08:45:17
  • 学习CSS布局心得

    2007-05-11 16:50:00
  • Select的OnChange()事件

    2009-03-03 12:40:00
  • MySQL的添加用户的两种方法

    2012-01-29 17:50:10
  • jQuery在去除缓存数据的一个失误

    2009-12-14 20:40:00
  • 最小asp后门程序

    2011-04-03 10:35:00
  • 好友列表利用率越高,社区越失败

    2008-04-10 12:22:00
  • 低效的键盘和高效的登录框

    2007-08-22 09:17:00
  • ASP看代码学习CASE的用法

    2008-04-13 06:36:00
  • SQL Server命令行导数据的2种方式

    2010-07-26 14:48:00
  • Dreamweaver MX 2004 之 Flash Element

    2010-03-25 12:27:00
  • 比较规范的验证Email地址是否正确的正则表达式

    2009-07-28 17:55:00
  • Oracle 管道 解决Exp/Imp大量数据处理问题

    2009-07-12 18:31:00
  • ASP技巧:ASP中三个常用语句的使用技巧

    2008-10-16 10:56:00
  • css有趣而诡异的数组

    2009-02-04 16:06:00
  • 用javascript实现Base64编码

    2008-03-04 16:51:00
  • ASP短日期格式为长日期

    2009-06-11 12:53:00
  • asp之家 网络编程 m.aspxhome.com