网络编程
位置:首页>> 网络编程>> Asp编程>> Persits AspJpeg 1.8+ 轻松实现透明文字去锯齿水印

Persits AspJpeg 1.8+ 轻松实现透明文字去锯齿水印

 来源:asp之家 发布时间:2009-03-20 14:03:00 

标签:asp,文字,AspJpeg1.8,透明,水印

从AspJpeg1.8 版本开始,AspJpeg 提供了比 PrintText 更为灵活的文本绘图方法PrintTextEx,PrintTextEx 使用FreeType?开源程序库,可以在任何背景上呈现高品质的反锯齿文本。

这是一个ASP版本的利用PrintTextEx方法产生文字透明水印简单示例程序:

<%
Dim objJpeg
Dim strText
Set objJpeg = Server.CreateObject("Persits.Jpeg")       
objJpeg.Open Server.MapPath("t.jpg")           
strText = "Copyright &copy; 2008 Abo BloG"
objJpeg.Canvas.Font.Size = 30
objJpeg.Canvas.Font.Color = &HFF0000       '十六进制颜色值
objJpeg.Canvas.Font.Opacity = 0.7       '不透明度,1为不透明
objJpeg.Canvas.PrintTextEx strText, objJpeg.Width/2, objJpeg.Height-20, objJpeg.WindowsDirectory & "\Fonts\Arial.ttf" 
objJpeg.Save Server.MapPath("tt.jpg")
Set objJpeg = Nothing
%>


<%
Dim objJpeg
Dim strText
Set objJpeg = Server.CreateObject("Persits.Jpeg")         
objJpeg.Open Server.MapPath("t.jpg")             
strText = "Copyright &copy; 2008 Abo BloG"
objJpeg.Canvas.Font.Size = 30
objJpeg.Canvas.Font.Color = &HFF0000         '十六进制颜色值
objJpeg.Canvas.Font.Opacity = 0.7         '不透明度,1为不透明
objJpeg.Canvas.PrintTextEx strText, objJpeg.Width/2, objJpeg.Height-20, objJpeg.WindowsDirectory & "\Fonts\Arial.ttf" 
objJpeg.Save Server.MapPath("tt.jpg")
Set objJpeg = Nothing
%>

rintTextEx 方法参考:

Function PrintTextEx(Text As String, X As Long, Y As Long, FontPath As String) As Long

Text - 要打印的文字字符串(Unicode格式),如果含有CR/LR字符则多行显示。
X, Y - 打印位置,XY轴坐标。
FontPath - 指定字体文件的物理路径。只要知道字体路径即可,并不需要系统注册。

返回值:返回文本宽度,如果字符串分割为多行,则返回宽度最长的。

以下字体属性影响PrintTextEx:

Font.Color - 指定当前文字颜色,以一个十六进制值来表示,例如:&HFF0000FF 蓝色
Font.Rotation - 旋转角度
Font.Size - 指定文字大小,单位像素(px)
Font.Spacing - 行距
Font.Width - 指定文本宽度,超出自动换行。
Font.Align - 指定文本对齐方式。0-左(默认),1-右,2-居中,3-两端对齐,当值为非0时,必须指定Font.Width值
Font.Opacity - 指定文本的不透明度,有效值范围[0-1],0完全透明,1完全不透明

图片:

If Img.TransparencyColorExists Then
Big.Canvas.DrawImage 10, 10, Img, 1, Img.TransparencyColor,10
Else
Big.Canvas.DrawImage 10, 10, Img
End If

如果有透明存在,那个是抽取的透明色,

第一,二个参数是X,Y offsets,第三个参数是水印图片,第四个参数是水印透明度,第5个参数是抽取透明层的颜色,第六个参数是抽取颜色的误差范围,有时候透明有杂点,可以通过这个参数调整.其中第4个到第六个参数是可选参数

在版本1.6开始被支持,现在最新好象是1.9版本

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com