Persits AspJpeg 1.8+ 轻松实现透明文字去锯齿水印
来源:asp之家 时间:2009-03-20 14:03:00
从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 © 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 © 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版本
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Golang实现带优先级的select
![](https://img.aspxhome.com/file/2023/5/133935_0s.png)
Python魔术方法详解
![](https://img.aspxhome.com/file/2023/8/94048_0s.png)
教你漂亮打印Pandas DataFrames和Series
![](https://img.aspxhome.com/file/2023/8/65848_0s.png)
CTF中的PHP特性函数解析之中篇
![](https://img.aspxhome.com/file/2023/7/55517_0s.jpg)
python 字典中文key处理,读取,比较方法
![](https://img.aspxhome.com/file/2023/4/72094_0s.jpg)
使用MySQL内建复制功能
重置MySQL中表中自增列的初始值的实现方法
python 删除字符串中连续多个空格并保留一个的方法
MySQL从库维护经验分享
如何利用JS将手机号中间四位变成*号
简单的PHP图片上传程序
Mybatis如何自动生成数据库表结构总结
openai createChatCompletion函数使用实例
pycharm利用pyspark远程连接spark集群的实现
![](https://img.aspxhome.com/file/2023/3/127923_0s.png)
Python Tkinter GUI编程实现Frame切换
![](https://img.aspxhome.com/file/2023/1/115511_0s.png)
使用FCKeditor添加文章时,在文章最后多了逗号
Python实现读取txt文件中的数据并绘制出图形操作示例
![](https://img.aspxhome.com/file/2023/6/66416_0s.png)
Python字典对象实现原理详解
![](https://img.aspxhome.com/file/2023/5/123805_0s.jpg)
navicat 8 for mysql建库的方法
![](https://img.aspxhome.com/file/2023/8/112878_0s.png)
python数据处理 根据颜色对图片进行分类的方法
![](https://img.aspxhome.com/file/2023/5/103765_0s.jpg)