ASPJpeg:
一、为图片加入水印功能
Dim JpegSet Jpeg = Server.createObject("Persits.Jpeg") ' 建立对象Jpeg.Open BlogPath & "/upload/" & FileName ' 图片所在位置Jpeg.Canvas.Font.Color = &H000000 ' 颜色,这里是设置成:黑Jpeg.Canvas.Font.Family = "方正隶变简体" ' 设置字体Jpeg.Canvas.Font.Bold = False '是否设置成粗体Jpeg.Canvas.Font.Size = 26 '字体大小Jpeg.Canvas.Font.Quality = 4 ' 文字清晰度Jpeg.Canvas.Print Jpeg.OriginalWidth/2-170,Jpeg.OriginalHeight-30, "WWW.WILLIAMLONG.INFO" '水印文字Jpeg.Save BlogPath & "/upload/" & FileName ' 保存文件Set Jpeg = Nothing
详细使用说明:http://www.v6bbs.com/board/dis.asp?id=6742&0
二、为图片制作缩略图
Dim JpegSet Jpeg = Server.createObject("Persits.Jpeg") ' 建立对象Jpeg.Open BlogPath & "/upload/" & FileName ' 图片所在位置Jpeg.Width = Jpeg.OriginalWidth / 2Jpeg.Height = Jpeg.OriginalHeight / 2' 设置缩略图大小(这里比例设定为50%),也可以给他准确的数值,比如Jpeg.Width=120Jpeg.Save BlogPath & "/upload/" & FileName ' 保存文件Set Jpeg = Nothing
三、安全码安全玛的道理和加水印差不多,很多朋友问我要具体的代码技术,在这里我就写出来和大家分享,一般人我还不告诉他。呵呵。<%生成安全码的函数function make_randomize(max_len,w_n) max_len 生成长度,w_n:0 可能包含字母,1:只为数字randomizefor intcounter=1 to max_lenwhatnext=int((1-0+1)*rnd+w_n)if whatnext=0 thenupper=122lower=97elseupper=57lower=48end ifstrnewpass=strnewpass & chr(int((upper-lower+1)*rnd)+lower)nextmake_randomize=strnewpassend function%>生成安全码的图片。当然你要预先准备一张背景图哦<%random_num=make_randomize(4,1) 生成4位数字的安全码session("random_num")=random_num 为什么调用session,没有session的安全码是完全没有意义的。呵呵Set Jpeg = Server.createObject("Persits.Jpeg") 调用组件Jpeg.Open Server.MapPath("infos/random_pic/random_index.gif") 打开准备的图片Jpeg.Canvas.Font.Color = &H006699Jpeg.Canvas.Font.Family = "Arial Black"Jpeg.Canvas.Font.Bold = falseJpeg.Canvas.PrintText 0, -2, random_numjpeg.save Server.MapPath(http://www.host01.com/Get/asp/00010007/";infos/random_pic/random_index.bmp") 保存%> <img src=http://www.host01.com/Get/asp/00010007/"infos/random_pic/random_index.bmp" border="0" align="absmiddle">自己做做看。呵呵。不想做背景图片的。去http://comapny.windowscar.com/infos/random_pic/random_index.gif下载吧四、图片切割一直以来,对aspjpeg不了解的人以为是无法用它来进行切割的。其实有这样的一个方法的crop x1,y1,x2,y2切割长方型左上角x坐标,y坐标 右下角x坐标 y坐标下面我就做一个演示哈Set Jpeg = Server.createObject("Persits.Jpeg")jpeg.open server.MapPath("/pic/1.gif")jpeg.width=70Jpeg.Height = Jpeg.OriginalHeight*70 / jpeg.Originawidthjpeg.crop 0,0,70,52 开始切割其实是把超过52象素的下部分去掉jpeg.save server.MapPath("/temp_pic/small_1.gif") 保存怎么样,很简单吧五、图片合并我们这里是要把logo图片加到dodge_viper.jpg图片上去其实,图片合并的方法也可以用来动态打水印哦Set Photo = Server.createObject("Persits.Jpeg")PhotoPath = Server.MapPath("images") & "/dodge_viper.jpg"Photo.Open PhotoPathSet Logo = Server.createObject("Persits.Jpeg")LogoPath = Server.MapPath("images") & "/clock.jpg"Logo.Open LogoPath
Logo.Width = 70Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
Photo.DrawImage 0, 0, Logo
Photo.SendBinary 这里用了sendBinary的输出方法。当然,你也可以先保存更改后的dodge_viper.jpg,再输入也可以。我个人不大喜欢用sendBinary方法,在网速慢的时候容易出错。在速度方面也不怎样。呵呵。六、数据库支持这里不多说了。其实就是Binary方法,大家知道图片存进数据库只能存为二进制的文件的。所以代码就懒的写了。七、更多方法介绍Canvas.Line(Left, Top, Right, Bottom)画一条直线Canvas.Ellipse(Left, Top, Right, Bottom)画出一个椭圆Canvas.Circle(X, Y, Radius)画出一个圆Canvas.Bar(Left, Top, Right, Bottom)画出一个长方形,上面有代码介绍了Canvas.Font.ShadowColor文字阴影颜色Canvas.Font.ShadowXOffset As Long阴影X坐标设定Canvas.Font.ShadowYOffset As LongY坐标设定Canvas.Font.BkMode As String文字背景
当然还有很多很多啦。我就不一一介绍了。相信这些工具够你用了吧。
下载地址:点击下载
JMail4.4 用法:
在Asp程序中用Jmail发邮件的比较多,主要是因为多数虚拟主机支持他,其它的支持的较少。下面是一个Jmail发邮件的例子代码:
如果您在自己的机器上试,请下载Jmail.dll,下载解压后,双击Setup.bat 即可完成安装!
<%On error resume nextDim JMail, contentIdSet JMail = Server.createObject("JMail.Message")JMail.Charset = "gb2312" ' 邮件字符集,默认为"US-ASCII"' JMail.ISOEncodeHeaders = False ' 是否进行ISO编码,默认为True
' 发送者信息(可用变量方式赋值)JMail.From = "Cavien@cavien.com" ' 发送者地址JMail.FromName = "Cavien" ' 发送者姓名JMail.Subject = "邮件主题" ' 邮件主题
' 身份验证JMail.MailServerUserName = "myusername" ' 身份验证的用户名JMail.MailServerPassword = "mypassword" ' 身份验证的密码
' 设置优先级,范围从1到5,越大的优先级越高,3为普通JMail.Priority = 3
JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
' 加入一个收件人【变量email:收件人地址】可以同一语句重复加入多个JMail.AddRecipient("someone@somehost.com")
' 加入附件【变量filename:附件文件的绝对地址,确保用户IUSR_机器名有访问的权限】' 【参数设置是(True)否(False)为Inline方式】'contentId = JMail.AddAttachment (Server.MapPath("jmail.asp"), True)
' 邮件主体(HTML(注意信件内链接附件的方式))JMail.HTMLBody = "<html><head><META content=zh-cn http-equiv=Content-Language><meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312""><style type=text/css>A:link { FONT-SIZE: 9pt; TEXT-DECORATION: none; color: #000000}A:visited {FONT-SIZE: 9pt; TEXT-DECORATION: none; color: #666666}A:hover {COLOR: #ff6600; FONT-SIZE: 9pt; TEXT-DECORATION: underline}BODY {FONT-SIZE: 9pt} –></style></head><body><font color=red>邮件正文</font><br><font color=green>邮件正文</font><br><b>邮件正文</b>< /body></html>"
' 邮件主体(文本部分)JMail.Body = "我们的邮件采用了HTML格式,但是您的邮件查看软件可能不支持。。。邮件正文,邮件正文,邮件正文"
' 发送【调用格式:objJMail.Send([username:password@]SMTPServerAddress[:Port])】JMail.Send("smtp.163.com")
' 关闭并清除对象JMail.Close()Set JMail = Nothing
if err.number<>0 thenresponse.write "发送发送失败!"elseresponse.write "邮件发送成功!"end if%>
下载地址:点击下载