zblog上传图片自动添加水印的实现方法-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

zblog上传图片自动添加水印的实现方法

简介:
+关注继续查看
 方法很简单,直接把代码复制到相关文件即可,不过此方法需要aspjpeg组件的支持才行!
具体的方法如下:
一、打开 FUNCTION 文件夹下的 c_system_lib.asp 文件
二、在文件中搜索:UpLoad=True ,再其前面添加以下代码:
If CheckRegExp(LCase(FileName),"jpg|gif|bmp|png") Then
Dim Jpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open BlogPath & "/" & ZC_UPLOAD_DIRECTORY  &  "/"  & FileName  ' 图片所在位置
 
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 = 24 '字体大小
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.5iadmin.com" '水印位置及文字
bb=Jpeg.Binary '将文字水印处理后的值赋给bb,这时,文字水印没有不透明度
 
'============调整文字透明度================
dim MyJpeg
Dim Logo
dim 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是透明度
MyJpeg.Save BlogPath & "/" & ZC_UPLOAD_DIRECTORY & "/" & FileName  ' 保存文件
set aa=nothing
set bb=nothing
Jpeg.close
MyJpeg.Close
Logo.Close
END IF
因为AspJpeg组件不支持文字的透明效果,这里的思路简单的可以概括为将文字先处理成图片水印,然后与原图融合起来。
 
小王又做了一些修改:
 
If CheckRegExp(LCase(FileName),"jpg|gif|bmp|png") Then
Dim Jpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open BlogPath & "/" & ZC_UPLOAD_DIRECTORY  &  "/"  & FileName  ' 图片所在位置
 
Dim aa
aa=Jpeg.Binary '将原始数据赋给aa
'=========加文字水印=================
Jpeg.Canvas.Font.Color = &H000000 '水印文字颜色
Jpeg.Canvas.Font.Family = "Arial" '字体
Jpeg.Canvas.Font.Size = 22 '字体大小
Jpeg.Canvas.Brush.Solid = True
Jpeg.Canvas.Font.Quality = 4   '输出质量
Jpeg.Canvas.PrintText Jpeg.OriginalWidth-170,Jpeg.OriginalHeight-20,"www.5iadmin.com" '水印位置及文字
bb=Jpeg.Binary '将文字水印处理后的值赋给bb,这时,文字水印没有不透明度
 
'============调整文字透明度================
dim MyJpeg
Dim Logo
dim bb
Set MyJpeg = Server.CreateObject("Persits.Jpeg")
MyJpeg.OpenBinary aa
Set Logo = Server.CreateObject("Persits.Jpeg")
Logo.OpenBinary bb
MyJpeg.DrawImage 0,0, Logo, 1 '0.3是透明度
MyJpeg.Save BlogPath & "/" & ZC_UPLOAD_DIRECTORY & "/" & FileName  ' 保存文件
set aa=nothing
set bb=nothing
Jpeg.close
MyJpeg.Close
Logo.Close
END IF


本文转自 小王 51CTO博客,原文链接:http://blog.51cto.com/xiaowang/1161373,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
巧用CSS3滤镜实现图片不同渲染效果
本站在首页文章封面图从无色转变为有色,以及页面切换、发布留言等信息提示的背景模糊都利用到了css3的filter滤镜。 CSS3 Filter是W3C CSS filter Effect 1.0中定义的滤镜,一个使用CSS来改变图片和HTML的模糊度、亮度、对比度、饱和度等等效果的过滤器。
1037 0
C# 后台添加Log信息
我们在做项目的时候,经常会使用到Log日志,今天分享一下如何在后台添加Log信息   创建一个写Log的方法: 1 public void WriteLog(string Action) 2 { 3 try 4 { 5 string strLogPath = System.
814 0
windows添加和删除服务
删除系统服务,记得一定要小心用。避免删错sc delete 服务名 加入服务: sc create 服务名 binPath= 路径 start= auto
433 0
Java 图片添加水印效果
package com.xiaowu.drawwater.demo; import java.awt.AlphaComposite; import java.awt.Graphics2D; import java.
1035 0
13694
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载