收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 2360|回复: 1

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

[复制链接]
发表于 2006-2-21 16:44:00 | 显示全部楼层 |阅读模式
用AspJpeg 调整文字水印透明,生成 alibaba图片水印的效果
公司做了个客户,需要图片生成像alibaba的效果。原来开发的系统都是用Aspjpeg进行缩小图的,现在需要处理图片,当然又想到这个组件。但后来发现,用Aspjpeg进行水印的时候效果总是不理想,特别是图片效果,而文字水印不能调整透明度同样不能满足客户。上网找了一大堆文章,都没有说如何调整文字水印的透明度,还在经典论坛发现这样的一片文章:http://bbs.blueidea.com/viewthread.php?tid=2113221
有同样的烦恼!



技术支持: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

%>



效果:





贴不到图,唉 看效果:http://www.didaman.com/blogview.asp?logID=201

不知道这样算不算合理的思路,如果你有更好的思路,请告诉我,谢谢!
 楼主| 发表于 2006-2-21 16:45:00 | 显示全部楼层
晕,贴不到图?

看这里吧:http://www.didaman.com/blogview.asp?logID=201
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-8-8 05:57 , Processed in 0.140268 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表