




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實用ActiveX組件的介紹編寫:飛鳥(沈鵬飛) 來自C電子郵件:本文在發表。謝絕其他網站轉載或以其他方式傳播。/ 什么叫活動服務器組件活動服務器組件的基本知識與介紹/ 為什么Active Server Pages需要組件理解Active Server Pages需要組件的原因/ 幾種實用組件的介紹熱門組件的詳細介紹什么叫活動服務器組件(Active Server Compontents)?組件是基于Activex技術的代碼片斷,通過指定接口提供指定的一組服務,組件供給客戶端(Clients)在運行時候請求的對象。你可以理解成組件是一種程序,通過調用這種程序,你可以實現你在ASP程序中無法實現
2、或者很難實現的功能,組件是一種很好的代碼重用方法。我們可以運用Active Server Pages設計制作動態、交互的Web頁面,但是一旦你開始著手工作,參與一些實際工作的時候,你會發現asp在某些方面功能不強,甚至不借助服務器端組件就很難實現某些功能,例如:數據庫操作(我們通常使用ADO,ADO就是一個組件),郵件功能,文件系統操作,圖形功能.但是幸運的是我們可以找到很多組件來提高ASP編程應用能力,在下面的內容我們將系統的介紹有關的組件,在下一章里面我們還將詳細介紹如何親自動手編寫組件。9.1 活動服務器組件的調用方法服務器組件和ASP內置對象應用程序(Application)、會話(S
3、ession)、請求(Request)、響應(Response)和服務器對象不同,不能直接使用,而必須首先被實例化。CreateObject函數創建一個對象并返回一個對對象的引用。這個函數的語法如下:Set objVar=Server.CreateObject(class)Class 表示創建什么樣的對象Class的格式如下顯示:application.className 其中application是應用程序的名字,className是這種對象的名字。一個application可以由一個或者多個對象組成。他們可以在內部之間相互調用的。例如Set myConnection = Server.Cr
4、eateobject("AdoDB.Recordset")注意:不能這樣創建的Asp內建對象的實例,如下面的例子將導致一個錯誤<% Set Response = Server.CreateObject("Response") %> 你可以就通過在你的ASP腳本中使用活動服務器端組件,創建動態,交互的Web頁面。9.2 IIS4活動服務器組件Windows NT 4.0 Option Pack安裝之后系統已經包含了很多可以選用的活動服務器組件。這些組件你可以在Visual InterDev 6.0的ToolBox工具箱上找到。下面這個表列出了這
5、些組件的名稱和功能。不過請注意:雖然這些內容列在工具箱上面,但是不等于這些組件已經安裝在你的服務器上了。因為有一些組件是可選擇安裝的。比如Index Server Query. 活動服務器組件名稱 描述ADO Command, ADO Connection,ADO Recordset使用using ActiveX Data Objects (ADO),提供數據庫訪問能力Ad Rotator在網頁可以放置一個條狀廣告Browser Capabilities確定訪問這個網站的瀏覽器性能、類型及版本Content Linking創建一個內容列表并在網頁之間連接Directionary存貯一個名字/數
6、值對應集合My Info維護個人信息例如網站管理員的名字、地址等等CDONTS NewMailCollaboration Data Objects for NTS (CDONTS),提供郵件功能(需要安裝和配置SMTP server)提供訪問文件系統的方法(但是文件操作不提供讀寫兩進制文件的功能,而只支持文本文件的讀寫)Index Server QueryIndex Server Utllity可以讓你訪問索引服務器(Index Server)MSMQ QueryMSMQ QueueInfoMSMQ MessageMSMQ MailEmail提供訪問MSMQ(Microsoft Message
7、 Queue)功能的方法表.2-1 IIS4活動服務器組件列表以上組件Windows NT 4.0 Option Pack的產品文檔中均有詳細解釋。如果你安裝了Visual InterDev 6.0和MSDN Library Visual Studio 6.0,那么更可以方便的查詢到有關資料在這里我們就不再詳細的介紹這方面的內容了。在后面的內容里面,我們將介紹更豐富的組件。9.3 實用組件介紹 這里我們將對許多實用的組件做一個介紹,幫助大家解決實際開發中所使用的問題。 通常我們使用asp開發系統都需要實現這樣的功能:1. Email發送Internet上用asp開發應用,一般都是面向用戶的,比
8、如需要注冊用戶,這樣就可能需要把用戶密碼發送到用戶的email信箱里面去。另外建立郵件列表,文章轉發,密碼提醒等等功能都要asp實現email發送。2. 動態圖形生成我想可能最熟悉的動態web圖形應用應該是計數器了,如果是用幾個圖形拼成計數器圖形,我想可能就不太專業,可以用圖形組件拼成一個完整圖形。另外可以使用圖形組件生成某些統計圖形。例如:餅圖,條形圖。我想我們通常所見的程序如:網上調查就常以餅圖來直觀的顯示結果。我們還可以使用曲線圖形或柱狀圖形來分析某些數據(比如網站流量分析)3. 文件上傳文件上傳也是一個急需的組件。使用文件上傳可以實現客戶端和服務器端的文件/數據交換。通常的用途是上傳圖
9、片或word、excel文件,然后就可以入庫,以便系統使用。筆者開發過一個新聞系統就使用了文件上傳系統上傳新聞圖片,從而實現了web在線新聞編輯。9.3.1 Email組件 W3 Jmail組件在一次瀏覽微軟新聞組的時候,看到有人在表揚Jmail。于是我就去下載了一個嘗試,發現這個組件做得確實十分好。于是就拿來實現了BBS程序的貼子轉發功能。在這里將介紹這個組件的使用方法。W3 Jmail組件介紹W3 Jmail是一個smtp組件,利用它可以發送郵件,支持html格式郵件。你可以訪問主頁: 下載這個組件。w3 Jmail 發送郵件速度快,功能豐富,并且是免費的。JMail 使用環
10、境Webserver (IIS4/PWS4)Microsoft Windows NT / Windows 98 / Microsoft Windows 95 + Winsock 2.0 (Winsock 2.0可以去微軟站點下載:)3.60版本的JMail的特性Attachments 附件 Return Receipt發信回執Detailed logging capabilities 詳細日志能力Priority settings 優先級設定MIME with BASE64, UUEncode and Quoted-Printable Encoding 郵件編碼設置Queued mailing
11、s without separate NT service. 郵件隊列發送,無需單獨的NT服務Unlimited redundant servers 沒有限制的多余server(SMTP服務器)Blind Carbon Copy (BCC) 密送Carbon Copy (CC) 抄送Urgent flagging 緊急標志US ASCII 和 ISO-8859-1 編碼UUEncoding UUEncode 編碼X-Headers and custom headers 自定義郵件頭MS Mail and Exchange priority headers. 微軟Mail和Exchange優先權
12、頭Internal MX lookup with MX priority and redundancy , 帶MX優先權和冗余的Internet MX查找 JMail支持的日志功能是非常有用的。特別是當你在發送郵件的時候遇到困難的時候,就可以察看日志內容分析原因。JMail 已經檢查了下列2000年問題測試2000-01-01 Bug - OK2000-02-29 Bug - OK2000-04-01 Bug - OK (Found in MS VCRT)JMAIL使用16位精度表示年,所以日期范圍限制在 -32767 32768 Jmail 組件參考說明組件使用方法:set oVar=Ser
13、ver.CreateOject(“jmail.smtpmail”)下表列出了Jmail的屬性編號屬性名類型版本用途使用舉例1BodyStringv3.0信件體,正文,使用AppendText追加內容JMail.Body = "Hello world" 2CharsetStringv3.0字符集,缺省為"US-ASCII"簡體中文是gb2312Jmail.Charset = "US-ASCII"3ContentTransferEncodingStringv3.0指定內容傳送時的編碼方式,缺省是"Quoted-Printable
14、"(例如ChinaASP=C2=DB=CC=B3 代表ChinaASP論壇,等于號后面的是gb碼的16進制代碼)Jmail.ContentTransferEncoding = "base64"4ContentTypeStringv3.0信件的contentype. 缺省是"text/plain",但是可以設置為其他你想要的類型。如果你以HTML格式發送郵件, 改為"text/html"即可。 JMail.ContentType = "text/html"5DeferredDeliveryDatev3.0設
15、置延期發送. 如果郵件服務器支持的話,消息到了這個時間才會發送(Javascript)Jmail.DeferredDelivery = new Date( 2000, 02, 17 ).getVarDate();6EncodingStringv3.0這個屬性可以用來改變附件編碼方式(缺省是"base64). 可以選擇使用的是"base64", "uuencode" or "quoted-printable" JMail.Encoding = "base64"7ErrorCodeIntegerv3.0如果J
16、Mail.silent設置為true,ErrorCode包含的是錯誤代碼Response.Write( JMail.ErrorCode ); 8ErrorMessageStringv3.0如果JMail.silent設置為true,包含的是錯誤信息Response.Write( JMail.ErrorMessage );9ErrorSourceStringv3.0如果JMail.silent設置為true,包含的是錯誤的來源Response.Write( JMail.ErrorSource ); 10ISOEncodeHeadersStringv3.0是否將信頭編碼成iso-8859-1字符集
17、. 缺省是trueJMail.ISOEncodeHeaders = false11LazysendBooleanv3.0這個屬性指定Jmail是否一直等到mail發送了然后返回,或者緩沖這條消息然后在后臺發送。然而設置了這個屬性,你就不能控制錯誤信息。 注意:如果選擇了這個選項,屬性ServerAddress將無效,lazysend將通過dsn查詢決定郵件服務器, 在一些設置里面,這可能有問題。JMail.LazySend = true;12LogStringv3.0Jmail創建的日志,如果loging屬性設置為trueResponse.Write( JMail.Log );13Loggin
18、gStringv3.0是否使用日志JMail.Logging = true14MailDomainStringv3.0改寫發送到郵件服務器的EHLO/HELO命令 JMail.Maildomain = ""15MimeVersionStringv3.0指定mime版本。缺省是"1.0" JMail.MimeVersion = "1.0"16PriorityIntegerv3.0優先級. 范圍在1-5之間 1 高優先級. 有些郵件程序稱之為緊急 2 也是高優先級 3 普通優先級 4 低優先級 5 最低的優先級Jmail.Priority
19、 = 317RecipientsStringv3.0只讀屬性,返回所有收件人Response.Write( "" + JMail.Recipients + "" );18ReplyToStringv3.0指定一個可選的回信地址Jmail.ReplyTo = ""19ReturnReceiptBooleanv3.0指定是否發件人需要一個回復收據. 缺省是falseJmail.ReturnReceipt = true20SenderStringv3.0指定發件人的郵件地址Jmail.Sender = ""21Sende
20、rNameStringv3.0指定發件人的姓名Jmail.SenderName = "Bat man"22ServerAddressStringv3.0指定郵件服務器的地址。可以指定多個服務器,用分號點開。可以指定端口號。如果serverAddress保持空白,Jmail會嘗試解決遠程郵件服務器,然后直接發送到服務器上去。Jmail.ServerAddress = " :2500"23SilentBooleanv3.0如果設置為true,JMail不會拋出例外錯誤. JMail.execute() 會根據操作結果返回true或falseJmail.sil
21、ent = true24SimpleLayoutBooleanv3.0設置為true,減少Jmail產生的header信頭Jmail.SimpleLayout = true25SubjectStringv3.0設定消息的標題Jmail.Subject = "Dimac rocks big time!"26UsePipeliningBooleanv3.0Overrides if Jmail should use pipelining on a server that supports it. Jmail.Pipelining = false 表.3.1.1-1 Jmail屬性
22、列表下表列出了Jmail的方法編號方法版本用途使用舉例1AddAttachment( , ContentType ) v30添加文件附件到信件JMail.AddAttachment( "c:autoexec.bat" );2AddCustomAttachment( , Data ) v3.0添加自定義附件. This can be used to attach "virtual files" like a generated text string or certificate etc.JMail.AddCustomAttachment( "r
23、eadme.txt", "Contents of file" );3AddHeader( XHeader, Value ) v3.0添加用戶定義的X-header到messageJMail.AddHeader( "Originating-IP","23" );4AddNativeHeader( Header, Value ) v3.0添加信頭JMail.AddNativeHeader( "MTA-Settings", "route" );5AddRecipient
24、( Email )v3.0增加收件人JMail.AddRecipient( "" );6AddRecipientBCC( Email ) v3.0增加密送收件人JMail.AddRecipientBCC( "" );7AddRecipientCC( Email ) v3.0增加抄送收件人JMail.AddRecipientCC( "" );8AddRecipientEx( Email, Name ) v3.0增加一個帶名字的收件人JMail.AddRecipientEx( "", "Dimac INFO&
25、quot; );9AddURLAttachment( bstrURL, bstrAttachAs, bstrAuth )v3.0下載并添加一個來自url的附件. 第二個參數"AttachAs", 被用來指定信件收到后的文件名. 第3個可選參數是用來可選的WWW-鑒定.JMail.AddURLAttachment( "", "jmail.exe" )10AppendBodyFromFile( ) v3.0將一個文件內容追加到正文后JMail.AppendBodyFromFile( "c:mytext.txt" );1
26、1AppendText( Text ) v3.0追加信件的正文內容JMail.AppendText( "Text appended to message Body" );12ClearAttachments() v3.0清除附件列表JMail.ClearAttachments();13ClearCustomHeaders()v3.0清除所有自定義的信頭JMail.ClearCustomHeaders();14ClearRecipients() v3.0清除收件人列表JMail.Close();15Execute() :Booleanv3.0執行郵件的發送JMail.Exec
27、ute();16ExtractEmailAddressesFromURL( bstrURL, bstrAuth ) v3.0從一個url下載和添加email地址JMail.ExtractEmailAddressesFromURL( "" );17GetMessageBodyFromURL( bstrURL, bstrAuth ) v3.0清除message的正文,并用url的內容替換。Contenttype 會自動設置成URl的contentyp。第二參數(login and password)是可選的。JMail.GetMessageBodyFromURL( "
28、", "login:password" )18LogCustomMessage( Message )v3.0將用戶自定義消息加入Jmail日志. 只有屬性loging設置為true時,這項功能才能起作用JMail.LogCustomMessage( "Hello world" );表.3.1.1-2 Jmail方法列表程序舉例: <html> <head> <title>your Title </title> <body> <% Set JMail = Server.Create
29、Object("JMail.SMTPMail") ' 設置serverAddress為我本地的smtp server 地址 JMail.ServerAddress = ":25" ' 發件人地址 JMail.Sender = "" JMail.Subject = "郵件標題" ' 收件人信箱,請注意這里沒有使用等號 JMail.AddRecipient "" JMail.AddRecipient "" ' 屬性body可以寫也可以讀 '
30、 如果你希望給body追加文本,你可以使用 ' JMail.Body = JMail.Body & "Hello world!" ' 或者你可以使用JMail.AppendText "Hello World!" 'JMail.Body = "Here you go. Your request has been approved" &_ "and the program is attached to this message" 信件的緊急程度 ' 1 - highest
31、 priority (Urgent) 急件 ' 3 normal 普通 ' 5 lowest 最低程度 JMail.Priority = 1 發件人IP地址 JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR") ' 請注意:IUSR_? 要有訪問的權限 JMail.AppendBodyFromFile "e:mailstandard_footer.txt" JMail.AddAttachment "e:prod
32、uctsMyProduct.exe" ' 發送郵件 JMail.Execute %> <center> 郵件發送到你的郵箱 (<%=request.form("email")%>). </center> </body> </html>但是上面的例子存在這樣的問題:由于郵件使用英文編碼(缺省的),所以用outlook/outlook express收,看到的缺省頁面中文是亂碼,必須手工設置為簡體中文(GB2312),才能正常閱讀。其實我們只要在上面的程序Jmail.execute之前加上 Jm
33、ail.CharSet=”gb2312”,那么郵件的編碼就是中文了。還有一個問題是如何發送html格式的郵件。下面是發送html格式郵件的例子 Set JMail = Server.CreateObject("JMail.SMTPMail") JMail.Charset = "gb2312" JMail.ContentType="text/html" JMail.ServerAddress =”:25” JMail.Sender = “” JMail.Subject = “html格式的郵件” JMail.AddRecipient “
34、”JMail.Body = “<html><body><p>你好,謝謝你訪問我們的網站” & _“<a href= target=_blank>yourHost</a>”& _ ”</p></body></html>” JMail.Priority = 1 JMail.AddHeader "Originating-IP", _ Request.ServerVariables("REMOTE_ADDR") JMail.Execute set jM
35、ail=nothing ASP Email組件aspEmail是一個"免費"的服務器組件,它提供通過smtp發送郵件的方法。這個組件支持多個附件,多個收件人,抄送,密送,和回復。除了基本的功能是免費使用的之外,另外一些功能需要注冊:隊列郵件發送、嵌入式圖片和Quoted-printed格式。更多信息你可以在aspEmail的主頁上獲得:系統需求一般配置需求:Windows 95/98 或 Windows NT 4.0+ 還要一個外部的SMTP服務程序特殊配置需求:Internet Information Server 3.0 + 和 Active Serve
36、r Pages, 或 Personal Web Server (any version) 和 Active Server Pages, 或Visual Basic, Visual C+, 或其他任何支持COM組件開發的開發環境。主頁:下載:組件注冊:在命令行執行下面的命令(你可以在MS-DOS命令行輸入,也可以在開始菜單/運行中輸入):C:regsvr32 c:AspEmailDirAspEmail.dll下表列出了aspEmail的屬性編號屬性名類型說明1HostString必須設定的屬性。用來發送郵件的Smtp服務器的internet地址。Mail.Host = “”2PortIntege
37、rSmtp服務器的端口地址,缺省是253FromString必須設定的屬性,發件人地址4FromNameString發件人的名字5SubjectString郵件的主題6BodyString郵件的內容7IsHTMLBoolean缺省是False, 如果設置為True,AspEmail會設置郵件的CONTENT-TYPE為TEXT/HTML8PriorityInteger郵件優先級,合法的值有:高3-正常5-低0-缺省(未指定優先級)9HeloString缺省值是”AspEmail”。在SMTP會話開始的時候,這個字符串被HELO命令發送。SMTP客戶端用來對Smtp服務器標記它的域名10Cont
38、entTransferEncoding String缺省”7bit”。為郵件體指定”內容傳輸編碼” MIME頭。其他合法的值還有”8bit” 和 “quoted-printable”。如果你設定為”quoted-printable”,AspEmail會自動轉化信件體為RFC-2045規定的Quoted-Printable格式。注意:這是需要額外費用的特性11CharSetString缺省為 “ISO-8859-1” 。指定MIME頭Content-type的charset部分。注意:這是需要額外費用的特性12ExpiresDate返回這個組件需要額外費用的特性試用的過期日期。如果一個合法的注冊
39、鍵已經安裝了,則返回9/9/9999,如果這個注冊表給破壞或丟失的話。返回為0(顯示為12:00AM)表.3.1.-ASP Email組件的屬性下表列出了ASP Email的方法編號方法參數說明1AddAddress(Email As String, Optional Name )收件人列表增加一個郵件地址,可以加一個相應的全名。2AddCC(Email As String, Optional Name )抄送收件人列表增加一個郵件地址,可以加一個相應的全名。3AddBCC(Email As String, Optional Name )密送收件人列表增加一個郵件地址,可以加一個相應的全名。4
40、AddReplyTo (Email As String, Optional Name )回復收件人列表增加一個郵件地址,可以加一個相應的全名。5AddAttachment(Path as String)增加一個附件,path是文件的路徑6AddEmbeddedImage(Path As String, ContentID As String)在信件體內增加一個內嵌圖片,path是字符串,ContentID是一個沒有空格的字符串,例如:”My-Image”,這個字符串將在body HTML里面像這樣被應用:<IMG SRC="cid:My-Image"> 或<
41、;BODY BACKGROUND="cid:My-Image">注意:這是需要額外費用的特性7AppendBodyFromFile(Path as String)從Path參數指定的一個text文件或html文件中獲取數據添加到body屬性上8Send as Boolean無發送郵件。9SendToQueue as Boolean( Optional Path = "")將郵件發送到一個郵件隊列中并立即返回。需要EmailAgent服務在運行(EmailAgent是一個另外的程序,在aspEmail主頁上可以下載)。Path參數指定郵件被張貼到的郵
42、件隊列的路徑。如果path參數被忽略,則采用注冊表內EmailAgent設置的參數。注意:這是需要額外費用的特性10SendEncrypted(Msg As CryptoMessage)以S/MIME格式發送一個加密的郵件。需要AspEncrypt組件支持。AspEncypt主頁:11SendSigned(Msg As CryptoMessage)以S/MIME格式發送一個數字簽名的郵件。12SendSignedAndEncrypted(Msg1 As CryptoMessage, Msg2 As CryptoMessage)發送一個郵件。該郵件先試數字簽名,然后再加密的。13Reset清空所
43、有地址列表,所以一個新郵件才能夠發送。14ResetAll和Reset一樣功能,另外還重置所有屬性的值。表.3.1.-aspEmail方法的屬性調用舉例:在下面的例子里面 發送一份text格式的mail,并放置了一個圖片的附件。<%Set Mail = Server.CreateObject("Persits.MailSender")Mail.Host = "smtp.smtp-" ' 指定smtp服務器Mail.From = "" ' 指定發件人郵件地址Mail.FromName = "VeryHot
44、Cakes Sales" ' 指定發件人的名字Mail.AddAddress "", "某某先生" Mail.AddAddress "" ' 收件人名字可選Mail.AddReplyTo "" Mail.AddAttachment "c:imagesbook.gif"Mail.Subject = "感謝你定購本公司出版的書籍!"Mail.Body = "親愛的客戶:" & Chr(13) & Chr(10) &am
45、p; _ "感謝你的熱心關懷."On Error Resume NextMail.SendIf Err <> 0 Then Response.Write "Error encountered: " & Err.DescriptionEnd If%> AspEmail有一個吸引人的功能是:可以實現帶內嵌圖片html格式的郵件。下面的例子使用文件margin.gif作為郵件的背景。. Mail.Body = "<HTML><BODY BACKGROUND=""cid:My-Backgr
46、ound-Image"">.</BODY></HTML>" Mail.AddEmbeddedImage "c:aspemaildirmargin.gif", "My-Background-Image" 不過如果要使用這項功能沒有試用期限制,需要支付額外的費用。AddEmbeddedImage 有兩個參數:指向圖片文件的全路徑和一個 Content ID,Content ID是一個沒有空格的字符串,body HTML像這樣應用:"cid:<Content ID>"
47、在上面的例子里面我們使用Content ID "My-Background-Image",作為body 標記的一個背景屬性被引用。我們可以使用同樣的方法在郵件體內用img標記嵌入一個圖像:Mail.Body = "<HTML>.<IMG SRC=""cid:My-Company-Logo"">.</HTML>" Mail.AddEmbeddedImage "c:aspemaildirlogo.gif", "My-Company-Logo"
48、為了使得你編寫的腳本有更多的可讀性,你可以把郵件體的內容放到一個單獨的文件中,然后可以使用AppendBodyFromFile方法將內容倒入到body屬性中,AppendBodyFromFile接受包含郵件內容的text文件或html文件的全路徑。<!- > <HTML> <HEAD> <STYLE>BODY COLOR: #427d64; FONT-FAMILY: "Arial" FONT-SIZE: 12pt; MARGIN-LEFT: 8em </STYLE> </HEAD> <BODY B
49、ACKGROUND="cid:My-Background-Image"> <H2>Thank you for Shopping At Our Online Store!</H2> . </BODY> </HTML>要使用這個文件作為信件體,使用如果代碼:Mail.AppendBodyFromFile "c:aspemaildirmessagebody.html" Mail.AddEmbeddedImage "c:aspemaildirmargin.gif", "My-Ba
50、ckground-Image" AppendBodyFromFile方法可以用來替代body屬性試用,或者關聯起來使用9.3.2 動態圖形組件 AspImage組件關于AspImageASPImage可允許你從asp中隨意創建和修改圖片。你可以利用這個組件,創建自己的動態圖形。AspImage包括以下特性: 創建動態GIF生成GIF(僅指RLE編碼,不支持載入GIF)、JPG,PNG和BMP格式的圖片 創建和修改圖像漸進填充 支持rectangle(矩形畫圖),arc(弧形)和circle(圓)等畫圖方法切割,抽取,修改大小和旋轉圖形按鈕,變暗,加亮和其他效果從OLE變
51、量或其他AspImage對象中載入圖像支持response.binarywriteASPImage的安裝將dll文件,拷貝到一個子目錄,例如NT的目錄winntsystem32,win95/98的目錄windowssystem.注冊dll文件,命令行將當前目錄換到該目錄,然后鍵入: regsvr32 aspping.dllregsvr32在windows系統目錄可以找到ASPImage的使用說明組件使用方法:set oVar=Server.CreateOject(“AspImage.Image”)下表列出了ASP Image的屬性編號屬性描述舉例1AntiAliasText該屬性允許你在圖片中
52、建立無鋸齒文本,默認值為False Image.AntiAliasText = True2AutoClear默認值為真。一旦圖片保存后,現有圖片將被清除。如將AutoClear設置為False,圖片保存后仍可以保留現有版本,對其進行處理。Image.AutoClear = false3AutoSize確定當圖片被拖動到現有坐標之外時是否將該圖片剪切到合適大小。該屬性為真時,圖片將配合要求自動增大。為假時,拖動操作將被剪切到合適現有圖片的大小。Image.AutoSize = False4BackgroundColor整型數,用來指定背景色。Image.BackgroundColor = vbW
53、hite5BoldTrue or false. 指定字體是否加粗。Image.Bold = True6BrushColor用以指定格式刷的顏色(1.8以上版本適用,使用格式刷之后背景色失效)Image.BrushColor = VbRed7BrushStyle用來指定格式刷的刷筆樣式. Value Type Description 0 Solid 填充方式 1 Clear 清除方式 2 Horizontal 水平方向 3 Vertical 垂直方向 4 FDiagonal 45度自左到右斜向下 5 BDiagonal 45度自左到右斜向上 6 Cross 水平和垂直交叉方式 7 DiagCro
54、ss 45度交叉方式 8Error用于記錄在調用各種方法的過程中可能出現的錯誤信息。Response.Write "Error: " & Chart.Error9Expires如果使用的ASPImage組件是測試版或beta版,該屬性返回該組件失效日期。 Response.Write "Component Expires: " & Image.Expires10指定用SaveImage方法保存文件時文件的絕對路徑。Image. = "d:inetpubimagesabc.jpg"11FontColor整型值,指定字體的
55、顏色。Image.FontColor = vbRed12FontName字符型,指定字體名稱。Image.FontName = "MS Sans Serif"13FontSize整型值,指定字體的大小。Image.FontSize = 1214Image該屬性只讀,它包含當前圖片的二進制數據。用戶可以直接將二進制數據寫如客戶端,而不使用saveimage方法,具體采用那種方式需要視應用程序的設計而定。在ASP中可以使用response.binarywrite方法將圖片的二進制數據寫入客戶端,但要注意把contenttype屬性設置成相應的值。現有版本image屬性僅支持JP
56、EG或PNG文件。包含文件中的BinWTExt.asp介紹了如何使用該屬性。在使用該屬性之前把imageformat屬性設置成JPG或PNG。15ImageFormat該屬性指定要保存的圖片類型。 合法的值有:JPG = 1BMP = 2PNG = 3GIF = 5Image.ImageFormat = 5Image. = "c:inetpubimageslogo.gif"16JPEGQualityJPEG圖象的質量。合法值是1到100。Image.JPEGQuality = 9517MaxX指定圖象的X方向大小。Image.MaxX = 10018MaxY指定圖象的Y方向大小。Image.MaxY = 10019PadSize該屬性是允許用戶在文字周圍按水平和垂直方向用背景色自動填充的寬度。Image.PadSize = 520PenColor指定在畫布上畫線時所使用的顏色。 Image.PenColor = &h8000001121PenStyle指定畫線時畫筆的樣式。 0 Solid 實線 1 Dash 虛線 2 Dot 點線 3 DashDot 虛線與點交替 4 DashDotDot 虛線與兩點交替 5 Clear 無 (
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 快遞運輸合同協議書格式范本
- 排球場地租賃合同書
- 建筑工地安全合同協議書
- 版事業單位租車合同樣本
- 信用卡額度提升合同
- 版事業單位合同聘用辦法
- 倉儲貨架租賃合同范本
- 蔬菜大棚發展新趨勢:合同農業展望
- 2025短期安保臨時雇傭合同
- 2025芒果水果批發合同
- 發熱病人中醫護理
- 捕鼠公司合同協議
- 工程審計面試題及答案
- 2025年全民國家安全教育日(4.15)知識測試競賽題庫(含答案)
- 2025-2030中國煤化工行業發展分析及投資風險與戰略研究報告
- 病歷書寫規范2025版
- 2024年共青團團校考試入團考試題庫及答案
- 刑事案件模擬法庭劇本
- 劍橋BEC中級真題第四輯TEST1
- 畢業設計(論文)-CK6150總體及縱向進給和尾座部件的設計
- 施工項目人員任命書(范本)
評論
0/150
提交評論