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 &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版本

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

猜你喜欢

  • Golang实现带优先级的select

    2024-04-26 17:36:41
  • Python魔术方法详解

    2022-04-25 00:13:05
  • 教你漂亮打印Pandas DataFrames和Series

    2022-11-10 19:08:56
  • CTF中的PHP特性函数解析之中篇

    2023-06-11 12:56:20
  • python 字典中文key处理,读取,比较方法

    2021-11-30 20:42:36
  • 使用MySQL内建复制功能

    2009-12-15 21:36:00
  • 重置MySQL中表中自增列的初始值的实现方法

    2024-01-17 19:56:47
  • python 删除字符串中连续多个空格并保留一个的方法

    2021-08-16 14:07:25
  • MySQL从库维护经验分享

    2024-01-26 22:31:18
  • 如何利用JS将手机号中间四位变成*号

    2024-02-23 20:07:51
  • 简单的PHP图片上传程序

    2024-05-22 10:06:54
  • Mybatis如何自动生成数据库表结构总结

    2024-01-21 11:04:30
  • openai createChatCompletion函数使用实例

    2023-06-14 16:45:38
  • pycharm利用pyspark远程连接spark集群的实现

    2023-10-08 06:49:00
  • Python Tkinter GUI编程实现Frame切换

    2023-05-08 07:36:28
  • 使用FCKeditor添加文章时,在文章最后多了逗号

    2007-10-11 13:38:00
  • Python实现读取txt文件中的数据并绘制出图形操作示例

    2021-07-21 17:01:15
  • Python字典对象实现原理详解

    2023-06-11 01:53:21
  • navicat 8 for mysql建库的方法

    2024-01-26 04:07:53
  • python数据处理 根据颜色对图片进行分类的方法

    2022-02-27 08:41:37
  • asp之家 网络编程 m.aspxhome.com