AspJpeg组件的用法.docx
- 文档编号:30761926
- 上传时间:2023-08-23
- 格式:DOCX
- 页数:11
- 大小:17.49KB
AspJpeg组件的用法.docx
《AspJpeg组件的用法.docx》由会员分享,可在线阅读,更多相关《AspJpeg组件的用法.docx(11页珍藏版)》请在冰豆网上搜索。
AspJpeg组件的用法
AspJpeg组件的用法
ASPJPEG是一款功能相当强大的图象处理组件,用它可以轻松地做出图片的缩略图和为图片加上水印功能。
1、为图片制作缩略图
<%'建立实例
DimJpeg,Path
SetJpeg=Server.CreateObject("Persits.Jpeg")
'图片所在位置
Path=Server.MapPath("images")&"\clock.jpg"
'打开
Jpeg.OpenPath
'设置缩略图大小(这里比例设定为50%)
Jpeg.Width=Jpeg.OriginalWidth/2
Jpeg.Height=Jpeg.OriginalHeight/2
'保存缩略图到指定文件夹下
Jpeg.SaveServer.MapPath("images")&"\clock_small.jpg"
'注销实例
SetJpeg=Nothing
%>
<IMGSRC="images/clock.jpg"><P>
<IMGSRC="images/clock_small.jpg">
2、为图片加入水印功能
<%
DimJpeg
'建立实例
SetJpeg=Server.CreateObject("Persits.Jpeg")
'打开目标图片
Jpeg.OpenServer.MapPath("images/dodge_viper.jpg")
'添加文字水印
Jpeg.Canvas.Font.Color=&HFF0000'红色
Jpeg.Canvas.Font.Family="宋体"
Jpeg.Canvas.Font.Bold=True
Jpeg.Canvas.Print10,10,"Copyright(c)Cnmaya.org"
'保存文件
Jpeg.SaveServer.MapPath("images/dodge_viper_framed.jpg")
'注销对象
SetJpeg=Nothing
%>
'Aspjpeg功能设置
SetJpeg=Server.CreateObject("Persits.Jpeg")
'获取源图片路径
Path=Server.MapPath("uploadimages/")&"/"&FileName
'打开源图片
Jpeg.OpenPath
'设定生成缩略图细节这里有很多种设定方法下面的方法是先判断宽高比然后按比例缩放
IfJpeg.OriginalWidth/Jpeg.OriginalHeight>1then
Jpeg.Width=98
Jpeg.Height=int((98/Jpeg.OriginalWidth)*Jpeg.OriginalHeight)
elseifJpeg.OriginalWidth/Jpeg.OriginalHeight<1then
Jpeg.Width=98
Jpeg.Height=int((98/Jpeg.OriginalWidth)*Jpeg.Height)
endif
'设定锐化效果
Jpeg.Sharpen1,130
'向指定路径生成缩略图
Jpeg.SaveServer.MapPath("uploadimages/")&"/small"&FileName
ASPJPEG文字水印对图片描边:
<%
SetJpeg=Server.CreateObject("Persits.Jpeg")
'创建组件
Jpeg.OpenServer.MapPath("images.jpg")
'打开图片
'也可以用OpenBinary读取二进制数据
'以下是写入水印文字
Jpeg.Canvas.Font.Color=&H000000'颜色,这里是设置成:
黑
Jpeg.Canvas.Font.Family="宋体"'family设置字体
Jpeg.Canvas.Font.Bold=True'是否设置成粗体
Jpeg.Canvas.Font.Size=12'字体大小
Jpeg.Canvas.Print100,100,""'在相应的位置打印文字,如果靠右可以用Jpeg.Canvas.PrintJpeg.width-160,Jpeg.height-30,"863171.COM"
Jpeg.SaveServer.MapPath("images.jpg")'OK,大功告成,输入保存!
%>
二、ASPJPEG对图片描边
<%
SetJpeg=Server.CreateObject("Persits.Jpeg")
'创建组件
Jpeg.OpenServer.MapPath("images.jpg")
'打开图片
'也可以用OpenBinary读取二进制数据
'下面是对图片进行描边处理
Jpeg.Canvas.Pen.Color=&H000000'颜色
Jpeg.Canvas.Pen.Width=2'描边像素:
单位pix
Jpeg.Canvas.Brush.Solid=False'如果要描边,这里不能设成"真",否则整个区域会被填充为上面的颜色
Jpeg.Canvas.Bar1,1,Jpeg.Width,Jpeg.Height'描边的位置及对应宽度
Jpeg.SaveServer.MapPath("images.jpg")'OK,大功告成,输入保存!
%>
三、ASPJPEG改变图片大小,即缩略图功能:
<%
SetJpeg=Server.CreateObject("Persits.Jpeg")
Path=Server.MapPath("images")&"\clock.jpg"
Jpeg.OpenPath
Jpeg.Width=Jpeg.OriginalWidth/2
Jpeg.Height=Jpeg.OriginalHeight/2
'改变成原来的50%,Jpeg.Width,Jpeg.Height也可以给他准确的数值,比如Jpeg.Width=120
Jpeg.SaveServer.MapPath("images")&"\clock_small.jpg"
%>
然后在ASP代码里增加一点点代码即可,增加的位置可以放在上传图片完成后,取得图片地址,进行修改。
对于Z-Blog的使用者,直接将下面代码复制到c_system_lib.asp文件的TUpLoadFile类中的Upload函数的结尾即可实现水印功能。
1、为图片加入水印功能
DimJpeg
SetJpeg=Server.CreateObject("Persits.Jpeg")'建立对象
Jpeg.OpenBlogPath&"/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.PrintJpeg.OriginalWidth/2-170,Jpeg.OriginalHeight-30,"WWW.WILLIAMLONG.INFO"'水印文字
Jpeg.SaveBlogPath&"/upload/"&FileName'保存文件
SetJpeg=Nothing
2、为图片制作缩略图
DimJpeg
SetJpeg=Server.CreateObject("Persits.Jpeg")'建立对象
Jpeg.OpenBlogPath&"/upload/"&FileName'图片所在位置
Jpeg.Width=Jpeg.OriginalWidth/2
Jpeg.Height=Jpeg.OriginalHeight/2
'设置缩略图大小(这里比例设定为50%),也可以给他准确的数值,比如Jpeg.Width=120
Jpeg.SaveBlogPath&"/upload/"&FileName'保存文件
SetJpeg=Nothing
5、如何创建一个AspJpeg实例?
SetJpeg=Server.CreateObject("Persits.Jpeg")
6、如何查看到期时间(是否注册成功)?
SetJpeg=Server.CreateObject("Persits.Jpeg")
Response.WriteJpeg.Expires
注册成功则到期时间为:
9999-9-9
否则为:
安装日期加1个月期限
7、如何用AspJpeg组件生成图片缩略图?
以下是引用片段:
<%
SetJpeg=Server.CreateObject("Persits.Jpeg")'创建实例
Path=Server.MapPath("../images/apple.jpg")'处理图片路径
Jpeg.OpenPath'打开图片
'调整宽度和高度为原来的50%
Jpeg.Width=Jpeg.OriginalWidth/2
Jpeg.Height=Jpeg.OriginalHeight/2
Jpeg.SaveServer.MapPath("apple_small.jpg")'保存图片到磁盘
Jpeg.Close:
SetJpeg=Nothing
%>
8、如何用AspJpeg组件生成图片水印?
以下是引用片段:
<%
SetJpeg=Server.CreateObject("Persits.Jpeg")
Jpeg.OpenServer.MapPath("images/dodge_viper.jpg")
开始写文字
Jpeg.Canvas.Font.Color=&000000''red颜色
Jpeg.Canvas.Font.Family="CourierNew"字体
Jpeg.Canvas.Font.Bold=True是否加粗
Jpeg.Canvas.Print10,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.Bar1,1,Jpeg.Width,Jpeg.Height
起始X坐标起始Y坐标输入长度输入高度
Jpeg.SaveServer.MapPath("images/dodge_viper_framed.jpg")保存
%>
9、如何用AspJpeg组件进行图片合并?
AspJpeg1.3+enablesyoutoplaceimagesontopofeachotherviathemethodDrawImage.Tousethismethod,youmust
createtwoinstancesoftheAspJpegobjectsandpopulatebothofthemwithimagesviacallstoOpen(orOpenBinary).
WhencallingCanvas.DrawImage,the2ndinstanceofAspJpegispassedasanargumenttothismethod,alongwiththeX
andYoffsets(inpixels):
使用该方法,您必需创建两个AspJpeg实例对象
以下是引用片段:
<%
SetJpeg1=Server.CreateObject("Persits.Jpeg")
SetJpeg2=Server.CreateObject("Persits.Jpeg")
Jpeg1.OpenServer.MapPath("t.jpg")
Jpeg2.OpenServer.MapPath("t1.jpg")
Jpeg1.Canvas.DrawImage10,10,Jpeg2'optionalargumentsomitted
jpeg1.saveServer.mappath("tt.jpg")
%>
10、如何用AspJpeg组件进行图片切割?
AspJpeg1.1+isalsocapableofcuttingoffedgesfrom,orcropping,theresultantthumbnailsviathemethodCrop(x0,y0,x1,y1).Thesizeofthecroppedimageisspecifiedbythecoordinatesoftheupper-leftandlower-rightcornerswithintheresultantthumbnail,nottheoriginallargeimage.
以下是引用片段:
<%
SetJpeg=Server.CreateObject("Persits.Jpeg")
Jpeg.OpenServer.MapPath("t.jpg")
jpeg.Crop20,30,jpeg.Width-20,jpeg.Height-10
jpeg.saveServer.mappath("tt.jpg")
Response.write("<imgsrc=tt.jpg>")
%>
11、如何用AspJpeg组件创建安全码?
创建安全码原理上和创建水印差不多。
以下是引用片段:
<%
functionmake_randomize(max_len,w_n)'max_len生成长度,w_n:
0可能包含字母,1:
只为数字
randomize
forintcounter=1tomax_len
whatnext=int((1-0+1)*rnd+w_n)
ifwhatnext=0then
upper=122
lower=97
else
upper=57
lower=48
endif
strnewpass=strnewpass&chr(int((upper-lower+1)*rnd)+lower)
next
make_randomize=strnewpass
endfunction
'生成安全码的图片。
random_num=make_randomize(4,1)''生成4位数字的安全码
session("random_num")=random_num'为么调用session,没有session的安全码是完全没有意义的。
呵呵.
SetJpeg=Server.CreateObject("Persits.Jpeg")'调用组件
Jpeg.OpenServer.MapPath("t.jpg")'打开准备的图片
Jpeg.Canvas.Font.Color=&HFFFFFF
Jpeg.Canvas.Font.Family="ArialBlack"
Jpeg.Canvas.Font.Bold=false
Jpeg.Canvas.PrintText0,-2,random_num
jpeg.saveServer.MapPath("tt.jpg")'保存
%>
<imgsrc="tt.jpg"border="0"align="absmiddle">
12、如何让AspJpeg组件支援数据库?
图片存进数据库只能以二进制数据保存,这里即利用AspJpeg的Binary方法,下面以两个AspJpeg用户手册上的代码为例,具体请参考AspJpeg用户手册:
OpeningImagesfromMemory
以下是引用片段:
<%'UsingADO,opendatabasewithanimageblob
strConnect="DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ="&Server.MapPath("../db/aspjpeg.mdb")
Setrs=Server.CreateObject("adodb.recordset")
SQL="selectimage_blobfromimages2whereid="&Request("id")
rs.OpenSQL,strConnect,1,3
SetJpeg=Server.CreateObject("Persits.Jpeg")
'Openimagedirectlyfromrecordset
Jpeg.OpenBinaryrs("image_blob").Value
'Resize
jpeg.Width=Request("Width")
'Setnewheight,preserveoriginalaspectratio
jpeg.Height=jpeg.OriginalHeight*jpeg.Width/jpeg.OriginalWidth
Jpeg.SendBinary
rs.Close
%>
OutputtoMemory
以下是引用片段:
<%
...
Setrs=Server.CreateObject("adodb.recordset")
rs.Open"images",strConnect,1,3
rs.AddNew
rs("image_blob").Value=Jpeg.Binary
rs.Update
...
%>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AspJpeg 组件 用法
![提示](https://static.bdocx.com/images/bang_tan.gif)