aspjpeg组件技术在ASP的应用实例

发布时间:2007-07-11 14:37:17   浏览人数: 818948 次  

可以采用ASP的组件JPEG来做,可以先做一个图片,上面是你的网站LOGO相关的东西,然后将文字写在上面,以下方法搜集了几种方法,大家可以参考一下。


aspjpeg的高级用法中,包括以下常用技术:
图片缩略  图片水印  安全码技术  图片切割  图片合并  数据库支持等。

 

aspjpeg唯一点不足的就是输出方式比较单一。在这里,我们主要谈将图片处理保存后再调用的这种输出方法。另外,本人比较懒,所以有些代码仍然引用于原文档,不懂的地方偶会加以解释!


学过vb或者.net的同志肯定一看就明白了。刷子来着。呵呵。

一、图片缩略

<%
Set Jpeg = Server.CreateObject("Persits.Jpeg") 调用组件
Path = Server.MapPath("images") & "clock.jpg" 待处理图片路径
Jpeg.Open Path 打开图片
高与宽为原图片的1/2
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2
保存图片
Jpeg.Save Server.MapPath("images") & "clock_small.jpg"
%>
查看处理的图片


二、图片水印

<%
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open Server.MapPath("images/dodge_viper.jpg")
开始写文字
Jpeg.Canvas.Font.Color = &000000' red 颜色
Jpeg.Canvas.Font.Family = "Courier New" 字体
Jpeg.Canvas.Font.Bold = True 是否加粗
Jpeg.Canvas.Print 10, 10, "Copyright (c) XYZ, Inc."
打印坐标x 打印坐标y 需要打印的字符
以下是对图片进行边框处理
Jpeg.Canvas.Pen.Color = &H000000' black 颜色
Jpeg.Canvas.Pen.Width = 2 画笔宽度
Jpeg.Canvas.Brush.Solid = False 是否加粗处理
Jpeg.Canvas.Bar 1, 1, Jpeg.Width, Jpeg.Height
起始X坐标 起始Y坐标 输入长度 输入高度
Jpeg.Save Server.MapPath("images/dodge_viper_framed.jpg") 保存
%>


三、安全码

安全玛的道理和加水印差不多,很多朋友问我要具体的代码技术,在这里和大家分享。
<%
生成安全码的函数
function make_randomize(max_len,w_n) max_len 生成长度,w_n:0 可能包含字母,1:只为数字
randomize
for intcounter=1 to max_len
whatnext=int((1-0+1)*rnd+w_n)
if whatnext=0 then
upper=122
lower=97
else
upper=57
lower=48
end if
strnewpass=strnewpass & chr(int((upper-lower+1)*rnd)+lower)
next
make_randomize=strnewpass
end 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 = &H006699
Jpeg.Canvas.Font.Family = "Arial Black"
Jpeg.Canvas.Font.Bold = false
Jpeg.Canvas.PrintText 0, -2, random_num
jpeg.save Server.MapPath("infos/random_pic/random_index.bmp") 保存
%>

自己做做看。呵呵。


四、图片切割

一直以来,对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=70
Jpeg.Height = Jpeg.OriginalHeight*70 / jpeg.Originawidth
jpeg.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 PhotoPath
Set Logo = Server.CreateObject("Persits.Jpeg")
LogoPath = Server.MapPath("images") & "clock.jpg"
Logo.Open LogoPath
Logo.Width = 70
Logo.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 Long
Y坐标设定
Canvas.Font.BkMode As String
文字背景




上一篇:虚拟主机出现500错误提示如何解决?
下一篇:网站访问速度没有以前快,什么原因?
关于我们   |   联系我们   |   代理合作   |  汇款方式   |   网站地图   |   合作伙伴   |   友情链接   |   诚聘英才   |   企业OA办公平台
  中华人民共和国增值电信业务经营许可证:备案号:桂ICP备11003756
旗下网站:联城网络 - 联城社区 - 易通智能建站 - 联城通  - 网达科技 cdn加速服务 举报不良网站
联城网络 © 网达科技 版权所有 本站程序界面、源代码受相关法律保护,未经授权,严禁使用
Copyright © 2000-2019 Netto.cn,Inc. All rights reserved 
本站法律顾问:知名事务所 益诺众承律师事务所   
联城网络诚意为: 缂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳婀辩槐鎺斺偓锝庡亾缁扁晜绻涘顔荤盎閸ユ挳姊虹化鏇燁€嗛柡鍛矒椤㈡瑩寮崒婊咃紳婵炶揪绲芥竟濠囧磿閹扮増鐓ユ繛鎴炵懄缁€瀣煙椤旀儳鍘存鐐茬箻瀵噣鍩€椤掆偓椤繗銇愰幒鎴狀唵闂佸憡绋戦悺銊╁磻閿熺姵鐓涘璺猴功娴犮垽妫呴敃鍌涒拻闁稿本鑹鹃埀顒佹倐瀹曟劖顦版惔锝囩劶婵炴挻鍩冮崑鎾绘煙椤旂煫顏堝煘閹寸姭鍋撻敐鍛粵闁哄懐鍋ゅ娲箹閻愭彃濡ч梺鍛婁緱閸犳宕宠濮婂宕掑顑藉亾閹间礁纾归柣鎴eГ閸ゅ嫰鏌涢幘鑼槮闁搞劍绻冮妵鍕冀椤愵澀娌梺绋款儜缁绘繈寮婚弴鐔虹彾妞ゆ牗顨呮禍楣冩⒑缁嬫鍎愰柟鍛婃倐閿濈偛鈹戠€n偄浜楅柟鑹版彧缁辨洟鎯堥崟顖涒拻濞达絿鐡旈崵鍐煕閻曚礁浜扮€规洏鍔戦、娑樷堪閸涱厼绠氭繝鐢靛Х閺佹悂宕戝☉妯滄稑鈻庨幘宕囷紵闂佽鍎煎Λ鍕偪妤e啯鐓熸俊顖濆亹鐢盯鏌嶉柨瀣仼缂佽鲸鎸婚幏鍛叏閹搭厺绨奸柟渚垮妿娴狅箓宕滆椤旀洘绻濋姀锝嗙【妞ゆ垵娲ょ叅闁圭虎鍠楅悡娆愩亜閺冨倻鎽傛繛鍫熺矋閵囧嫰濮€閳藉懓鈧灝鈹戦鐟颁壕闂備胶鍋ㄩ崕鏌ュ几婵傜ǹ纾婚柟鎹愵嚙闁卞洭鏌¢崶鈺佇㈢憸鏉垮濮婃椽骞栭悙鎻掑闂佸憡鏌ㄧ粔褰掑春濞戙垹绠涙い鎾寸矆缁ㄥ姊洪棃娑辨Ф闁稿孩鐓¤棢闁绘ḿ绮悡娆撴煕濞嗗浚妲归柛濠冨姉閳ь剚顔栭崰鏍偉閻撳海鏆︾憸鐗堝俯閺佸鏌涘☉鍗炴灍妞ゆ梹鍨剁换婵嬫偨闂堟稐绮堕梺瀹︽澘濡块柛鎺撳笒椤撳吋寰勬繝鍕毇闂備胶枪閺堫剟宕欒ぐ鎺戝惞闁哄洨鍠嗘禍婊堟煙閻戞ê鐏ラ柍褜鍓涢幊鎾绘偩闁垮绶為柟閭﹀幘閸橆亝绻濋悽闈浶㈢紒缁樺姍閹礁饪伴崟顏嗙畾濡炪倖鍔戦崹褰掝敂椤撶喐鍙忓┑鐘插鐢盯鏌熷畡鐗堝殗鐎规洏鍔嶇换婵嬪磼濞戞瑧鏆梻鍌欑閹碱偊顢栭幇顓狀洸妞ゅ繐鐗嗛拑鐔哥箾閹寸偟鎳勯柛搴e枛閺屽秹鎸婃径瀣垫¥闂佸憡鑹鹃澶愬箖濡ゅ啯鍠嗛柛鏇ㄥ墰椤︺儳绱撻崒姘毙㈤柨鏇樺€濋幃楣冩倻閽樺顔婇梺鐟扮摠閺屻劑鎮у鑸碘拺闂侇偆鍋涢懟顖涙櫠閹绢喗鐓欐い鏃€鍎虫禒锔剧磼缂佹ḿ绠炵€规洖鐖兼俊姝岊槻妤犵偞鍔欏缁樻媴閸涘﹤鏆堥梺鍛婃⒐閸ㄥ灝鐣峰┑鍡╁悑濠㈣泛锕﹂鎰版⒑鐟欏嫬顥嬪褎顨婇幃锟犲閵堝棛鍘甸柣搴㈢⊕宀h法绮婚妷锔跨箚妞ゆ牗顨呮禍楣冩⒒閸屾瑦绁版い鏇熺墵瀹曟澘螖娴h桨绮寸紓鍌氬€烽懗鑸垫叏閻㈠憡鍎庢い鏍ㄥ嚬閸ゆ洘銇勯弴妤€浜鹃梺绯曟杹閸嬫挸顪冮妶鍡楃瑨閻庢凹鍙冨畷鎴﹀磼閻愬鍘繝銏f硾濡瑥鈻嶉崱娑欑厽闁规崘娉涢弸娑㈡煛鐏炵偓绀冪€垫澘瀚板畷鐓庘攽閸℃ぅ銈嗙節绾版ɑ顫婇柛顭戜邯瀹曟垿骞樼€靛摜鐦堝┑鐐茬墕閻忔繈寮稿☉銏$叆闁哄洦锚閳ь剚顨堝Σ鎰版倷鐎靛摜鐦堥梺绋挎湰缁秴鈻撴ィ鍐┾拺闁告挻褰冩禍婵囩箾鐠囇呯暤鐎殿噮鍋婂畷鐔碱敍濞戞艾寮繝纰樻閸垳鎷冮敃鈧嵄鐎瑰嫰鍋婇悢鍡涙偡濞嗗繐顏紒鈧埀顒勬⒑鐎圭媭娼愰柛銊ユ健閵嗕礁鈻庨幋鐐叉瀭闂佸湱鍎ゅú锕€岣块幇鐗堢厪闁搞儯鍔嶉ˉ鍫燁殽閻愬澧柟宄版嚇瀹曘劍绻濋崨顖氬絺闂傚倸鍊搁オ鎾磻閸曨個娲晜閸撗呯厯闂佸湱鍎ら〃鍡涘磻閸岀偞鐓熼柡鍌氱仢閹垿鏌i幘宕囩闁绘搩鍋婂畷鍫曞Ω閿旂虎妲梺鍝ュ枎閹诧紕鎹㈠☉姘e亾閻㈢櫥瑙勭墡闂備胶鍎甸弲鈺呭垂鐠轰警鍤曞┑鐘崇閺呮彃顭跨捄濂斤繝鍩¢崘鈺佹瀾闁瑰吋鐣崝灞叫ч崣澶堜簻闁圭儤鍨甸埀顒傛暬瀹曟垿骞橀懜闈涙瀭闂佸憡娲﹂崜娑⑺囬妸銉富闁靛牆鍟俊濂告煥閺囥劋閭┑鈥崇摠閹峰懘鎳栧┑鍥棃鐎规洏鍔戦、姗€鎮╅幓鎹洖鈹戦敍鍕杭闁稿﹥鐗曢蹇旂節濮橆剛锛涢梺鍦亾閻n亝绂嶅⿰鍫熺厸闁搞儺鐓侀鍫濈闁挎洖鍊归悡娑樏归敐鍫綈鐎规洖鐭傞弻鈩冩媴鐟欏嫬纾抽梺杞扮劍閹瑰洭寮幘缁樻櫢闁跨噦鎷� 用户提供网络服务
以下js为测试信息51La