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


猜你喜欢
- Fib实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,比如,取第5个元素:>>>
- Vue-validator 是Vue的表单验证插件,供大家参考,具体内容如下Vue版本: 1.0.24 Vue-validator版本: 2
- redis模块的使用1.安装模块pip3 install redis2.导入模块import redis3.连接方式严格连接模式:r=red
- 用HZHOST实用工具集的服务器安全设置里安装了MSSQL安全配置,现在SQL2000还原不了数据库了,从还原选定设备浏览文件夹时出现&qu
- 我们都知道ACCESS是ASP的亲密伙伴。因为两种最简单的东西碰在一起总能迸发出火花。然而,当我们过滤不严格的时候经常出现日文字符,这个时候
- 本文主要给大家分享一个实战项目,通过python代码写一款我们儿时大多数人玩过的游戏---小弹球游戏。只不过当时,我们是在游戏机上玩,现在我
- 如下所示:import urllibimport urllib2 import osimport timeimport re import
- Python绘制双轴组合的关键在plt库的twinx()函数,具体流程:1.先建立坐标系,然后绘制主坐标轴上的图表;2.再调用plt.twi
- 本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我
- 导语哈喽哈喽!大家好!我是木木子,又到了每日游戏更新环节!8月30日,对暑假还意犹未尽的孩子们收到了一份“开学大礼”:通知要求,严格限制向未
- 本文介绍了三种跨域访问的方法,php,asp及jsp种访问远程文件的方法。这几天脑细胞剩下的不多了,不过问题都一个个解决了。我希望搜索引擎能
- 躺着赚钱一位匿名知乎网友爆料用Python写了自动化交易程序,2年躺着赚了200万!相当于普通程序员10年的工资,此刻的心情...你懂的!不
- 本文实例讲述了kNN算法python实现和简单数字识别的方法。分享给大家供大家参考。具体如下:kNN算法算法优缺点:优点:精度高、对异常值不
- 如下所示:# coding: utf-8import osimport psutilimport timedef write_pid():
- 什么是Autopep8在python开发中, 大家都知道,python编码规范是PEP8,但是在市级开发中有的公司严格要求PEP8规范开发,
- 本文实例讲述了python使用socket进行简单网络连接的方法。分享给大家供大家参考。具体如下:import socketprint &q
- Oracle分页查询的实例详解1.Oracle分页查询:SELECT * FROM ( SELECT A.*, ROWNUM RN FROM
- Python使用for实现无限循环# 方法1.1:借助循环遍历列表的cycle方法from itertools import cyclefo
- 我想此时不妨使用字符串参数来帮助我们解决这种情况,利用字符串分割的方法将一个参数分割成数个参数来解决。下面我们看一个例子: 假设现在给你一个
- 目录关于Web服务器和应用服务器Python项目部署架构关于cgi、wsgi、uwsgi、http协议关于cgi、fastcgi、php-f