您現在的位置是:電腦技術吧?>? 故障問題 ??>??ADO.NET,NET是什么??>??正文詳情

ADO.NET,NET是什么

甲瑜英2019-12-20 15:42:14 人圍觀
簡介futurenet在使用ASP時,我們經常使用第三方控件來實現一些圖像功能。現在,隨著asp.net的引入,我們不再需要使用第三方控件來實現它,因為asp.net具有強大的功能來net開源框架

在使用ASP的時候,我們時常要借助第三方控件來實現一些圖象功能。

而現在,ASP.NET的推出,我們已經沒有必要再使用第三方控件來實現,因為ASP.NET 已經具有強大的功能來實現一些圖象處理。

現在,我們就來看看怎樣使用ASP.NET的這一強大功能。

  一、System.Drawing的使用  以下的舉例將演示在內存中生成一張圖片,然后,將這張圖片通過網頁顯示出來。

需要了解的是,我們這里輸出的不是HTML效果,而是實實在在的圖片(圖象),我們可以使用另存為將輸出圖象保存起來。

  我們先來看看效果:  我們看到,這張圖片是一個漸變背景上有看見了嗎幾個字,當然,這個效果在PhotoShop等圖象處理軟件里面很容易實現,但是,一些與數據庫結合的應用我們不可能將所有圖片都事先設計出來,這時候,利用ASP.NET來實現這些功能就顯得很重要了。

我們來看源代碼:  %@ page language=vb contenttype=image/jpeg %  %@ import namespace=system.drawing %  %@ import namespace=system.drawing.imaging %  %@ import namespace=system.drawing.drawing2d %    %  '清空Response  response.clear    '建立一個120*30大小,24bit的BMP圖象;  dim imgOutput as New bitmap(120, 30, pixelformat.format24bpprgb)    '根據以上BMP建立一個新圖象;  dim g as graphics = graphics.fromimage(imgOutput)    g.clear(color.Green)  g.smoothingMode = smoothingMode.antiAlias    g.drawString(看見了嗎?

, New font(黑體,16,fontstyle.bold),new SolidBrush(Color.White),New pointF(2,4))    g.FillRectangle(New linearGradientBrush(New point(0,0), New point(120,30), color.fromArgb(0,0,0,0),color.fromArgb(255,255,255,255)),0,0,120,30)    imgOutput.save(response.outputstream, imageformat.jpeg)    g.dispose()  imgOutput.dispose()  response.end  %  在以上代碼中,我們看到和數據庫程序不同,這里專門引入了圖象處理的名字空間system.drawing等。

程序首先清空了Response,確保沒有輸出;然后,程序建立了一個120乘30大的BMP圖象,再在這個基礎上建立一個新圖象,建立圖象以后,我們首先畫出了字符串看見了嗎,該字符串為 16大粗黑體,顏色為白色,位置為(2,4);最后,我們實現漸變效果。

  以上舉例很簡單,但是如果和數據庫結合,我們可以實現很多使用ASP可能不敢想的效果。

  二、讀取和改變圖象文件大小  讀取圖片?直接使用HTML不就可以了?當然可以,我們這里只是提供一種選擇和方法來實現這一功能,具體這一功能的使用,我們可能需要在實踐中更多的學習。

先來看程序源代碼:  % ' import all relevant namespaces %  %@ import namespace=System %  %@ import namespace=System.Drawing %  %@ import namespace=System.Drawing.Imaging %  %@ import namespace=System.IO %    script runat=server  Sub sendFile()  dim g as System.Drawing.Image = System.Drawing.Image.FromFile(server.mappath(request(src)))  dim thisFormat=g.rawformat  dim imgOutput as New Bitmap(g, cint(request(width)), cint(request(height)))  if thisformat.equals(system.drawing.imaging.imageformat.Gif) then  response.contenttype=image/gif  else  response.contenttype=image/jpeg  end if  imgOutput.save(response.outputstream, thisformat)  g.dispose()  imgOutput.dispose()  end sub    Sub sendError()  dim imgOutput as New bitmap(120, 120, pixelformat.format24bpprgb)  dim g as graphics = graphics.fromimage(imgOutput)  g.clear(color.yellow)  g.drawString(錯誤!, New font(黑體,14,fontstyle.bold),systembrushes.windowtext, New pointF(2,2))  response.contenttype=image/gif  imgOutput.save(response.outputstream, imageformat.gif)  g.dispose()  imgOutput.dispose()  end sub  /script  %  response.clear  if request(src)= or request(height)= or request(width)= then  call sendError()  else  if file.exists(server.mappath(request(src))) then  call sendFile()  else  call sendError()  end if  end if  response.end  %  在以上的程序中,我們看到兩個函數,一個是SendFile,這一函數主要功能為顯示服務器上的圖片,該圖片的大小通過Width和Height設置,同時,程序會自動檢測圖片類型;另外一個是SendError,這一函數的主要功能為服務器上的圖片文件不存在時,顯示錯誤信息,這里很有趣,錯誤信息也是通過圖片給出的(如圖):  以上的程序顯示圖片并且改變圖片大小,現在,我們將這個程序進一步,顯示圖片并且保持圖片的長寬比例,這樣,和實際應用可能比較接近,特別是需要制作電子相冊或者是圖片網站的時候比較實用。

我們先來看主要函數:  Function NewthumbSize(currentwidth, currentheight)  dim tempMultiplier as Double  if currentheight currentwidth then  tempMultiplier = 200 / currentheight  Else  tempMultiplier = 200 / currentwidth  end if  dim NewSize as New Size(CInt(currentwidth * tempMultiplier), CInt(currentheight * tempMultiplier))  return NewSize  End Function  以上程序是增加的一個函數NewthumbSize,該函數專門處理改變一會的圖片大小,這個圖片的長寬和原圖片的長寬保持相同比例。

其他部分請參考上文程序代碼。

  三、畫圖特效  如果只是將圖片顯示在網頁上,這樣未免顯得簡單。

現在,我們來進一步感受ASP.NET的強大功能。

我們將學習圖象處理中常用的圖象反轉、圖象切割、圖象拉伸等技巧。

  先來看看程序效果:  仔細看,我們可以找到各種圖象處理效果。

現在,我們來看看程序代碼:  %@ Page Language=vb Debug=True %  %@ import namespace=system.drawing %  %@ import namespace=system.drawing.imaging %  %@ import namespace=system.drawing.drawing2d %  %  dim strFilename as string  dim i as System.Drawing.Image  strFilename = server.mappath(./chris-fsck.jpg)    i = System.Drawing.Image.FromFile(strFilename)    dim b as New system.drawing.bitmap(i.width, i.height, pixelformat.format24bpprgb)  dim g as graphics = graphics.fromimage(b)    g.clear(color.blue)    '旋轉圖片  i.RotateFlip(System.Drawing.RotateFlipType.Rotate90FlipX)  g.drawimage(i,New point(0,0))  i.RotateFlip(System.Drawing.RotateFlipType.Rotate270FlipY)    g.RotateTransform(10)  g.drawimage(i,New point(0,0))  g.RotateTransform(10)  g.drawimage(i,New point(20,20))  g.RotateTransform(10)  g.drawimage(i,New point(40,40))  g.RotateTransform(10)  g.drawimage(i,New point(40,40))  g.RotateTransform(-40)  g.RotateTransform(90)  g.drawimage(i,New rectangle(100,-400,100,50),New rectangle(20,20,i.width-20,i.height-20),GraphicsUnit.Pixel)  g.RotateTransform(-90)    ' 拉伸圖片  g.drawimage(i,New rectangle(10,10,50,50),New rectangle(20,20,i.width-20,i.height-20),GraphicsUnit.Pixel)  g.drawimage(i,New rectangle(50,10,90,50),New rectangle(20,20,i.width-20,i.height-20),GraphicsUnit.Pixel)  g.drawimage(i,New rectangle(110,10,150,50),New rectangle(20,20,i.width-20,i.height-20),GraphicsUnit.Pixel)      '切割圖片  g.drawimage(i,50,100,New rectangle(180,80,60,110),GraphicsUnit.Pixel)  g.drawimage(i,140,100,New rectangle(180,80,60,110),GraphicsUnit.Pixel)    '旋轉圖片  i.RotateFlip(System.Drawing.RotateFlipType.Rotate180FlipX)  g.drawimage(i,230,100,New rectangle(180,110,60,110),GraphicsUnit.Pixel)    response.contenttype=image/jpeg    b.save(response.outputstream, imageformat.jpeg)    b.dispose()    %  在以上的程序中,我們看到實現圖象處理的各種技巧,仔細觀察,我們可以知道旋轉圖片其實是用了一個RotateFlip方法;而切割和拉伸圖片,完全是通過設置DrawImage的不同參數來實現。

    四、總結  ASP.NET的圖象處理可以實現的功能很多,我們在這里其實只是簡單的介紹,更多功能的應用,需要我們在實踐中摸索、總結。

版權聲明:本文由 甲瑜英 整理編輯。

原標題:NET什么意思,NET是什么意思

轉載注明出處:http://www.dn9ww09s.icu/fault/15594.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 如何設置服務器ip地址,服務器ip地址大全

    如何設置服務器ip地址,服務器ip地址大全 相關圖片查詢app服務器ip地址本文給出了一個用PHP獲取服務器IP地址的實例。與您分享以供參考。具體分析如下:在PHP中,我們通常使用$_server['http_host']在URL中獲取時間同步服務器ip地址...

  • 本年累計余額怎么算,養老保險累計賬戶余額

    本年累計余額怎么算,養老保險累計賬戶余額 相關圖片銀行日記賬的本年累計怎么算財務人員手工記賬時,會有借貸后的余額,即累計余額,即每個科目后記錄余額。如果使用計算機記賬,可以查詢完成累計余額的計算。首先,創建一個表...

  • excel人民幣大寫函數,人民幣大寫公式

    excel人民幣大寫函數,人民幣大寫公式 相關圖片excel數字轉人民幣大寫SQL server函數將人民幣數字轉換為大寫形式的創建函數[dbo]。[f﹣num﹣(@num numeric(14,5))返回帶加密的varchar(100電子表格人民幣大寫函數...

  • 無法解決的問題下還有八種解決方案,下淋最快的解決方案

    無法解決的問題下還有八種解決方案,下淋最快的解決方案 相關圖片技術方案和解決方案目前,大多數使用MySQL的網站同時使用Memcache作為密鑰值緩存。盡管這種架構非常流行,并且有很多成功的案例,但它過于依賴Memcache,這實際上使Me問題解決方案格式...

  • const extern,extern static

    const extern,extern static 相關圖片extern說明本文主要介紹如何在開發中使用常量、靜態和外部關鍵字。如果你喜歡我的文章,你可以關注我的微博:你可以到曉瑤閣來了解我們的iOS培訓課程。稍后將更新更多內容。。。...

  • 怎樣獲取select的值,獲取select2選中的值

    怎樣獲取select的值,獲取select2選中的值 相關圖片jsp獲取select選中的值本文的示例描述了JavaScript獲取select值的方法。與您分享以供參考。具體分析如下:1。顯示的漢字編碼如下:document.getelementbyselect下拉框提交值...

  • sql刪除重復數據,如何刪除重復數據

    sql刪除重復數據,如何刪除重復數據 相關圖片oracle恢復刪除的表有很多方法可以刪除Internet上的重復數據,例如delete from prod,grid,Inc其中ROWID in(選擇b.row,Id2 from(選表格刪除重復項...

  • 眼鏡框制作,手機中框和邊框的區別

    眼鏡框制作,手機中框和邊框的區別 相關圖片門窗框的固定方法在從ios8升級到ios9的過程中,彈出提示框的方式發生了很大的變化。在xcode7和ios9.0的SDK中,已經明確表示不再推薦使用UIAlertView,只怎樣調眼鏡框...

  • asp連接oracle數據庫,pl/sql developer

    asp連接oracle數據庫,pl/sql developer 相關圖片Oracle10g本文主要介紹了使用ODP的asp.net防注入登錄驗證程序,即Oracle連接方式。您可以參考Internet上許多SQL連接模式的登錄驗證,但是如果沒有Oracas和casshiro比較...

  • 如何保持狀態,保持好狀態

    如何保持狀態,保持好狀態 相關圖片如何讓自己保持穩定的狀態net提供了session對象,它允許程序員識別、存儲和處理來自同一瀏覽器對象的多個請求的上下文信息,并將其發送到服務器上的特定網絡應用程序。會話對應于...

熱評文章

  • g04編程實例,g03編程實例

    g04編程實例,g03編程實例 相關圖片數控車編程實例注解Java服務器頁面(JSP)作為一種構建動態web頁面的技術,正變得越來越流行。JSP不同于ASP、PHP和工作機制。通常,JSP頁面是在執行時編譯而不是解釋的數控車g03編程實...

  • ios是誰開發的,ios用什么開發

    ios是誰開發的,ios用什么開發 相關圖片ios開發難嗎Fmdb是面向對象的。它以OC的形式封裝SQLite的C語言API。它使用方便,不需要太多的數據庫操作知識。但也存在一些問題,比如跨平臺。因為它是用OC語言封裝ios 開發教程...

  • 證書異常怎么解決方法,模塊異常4怎么解決

    證書異常怎么解決方法,模塊異常4怎么解決 相關圖片如何能解除模塊異常1在IIS6中同時啟用了asp.net 2.0和asp.net 4.0之后,網站程序可能會發生以下錯誤:system.web.httpexception:pathqq綁卡異常怎么解決...

  • 一波又一波,一波還來不及

    一波又一波,一波還來不及 相關圖片一波接一波本文主要介紹了一種實用的bash shell排序方法,它適用于Ubuntu和其他Debian-Linux系統。您可以將以下內容作為朋友的命令行資源管理器。你可能來一波是什么意思...

  • kotlin android開發,安卓開發框架

    kotlin android開發,安卓開發框架 相關圖片android開發語言本文主要介紹Android開發的IDE、ADT、SDK、JDK、NDK等術語的定義。對這些概念感到困惑是件痛苦的事。本文簡要說明了這些術語的含義。讓我們共同努力android系統...

  • excel的工作簿是,excel多個工作簿匯總

    excel的工作簿是,excel多個工作簿匯總 相關圖片excel批量合并工作簿學校希望以Excel文件的形式提交校友記錄中收集到的校友電子郵件地址,方便校友團體向全體校友發出參加校慶80周年的邀請。校友記錄數據庫是access mdb格式一個工作...

  • php將html轉化為word,phpword中文手冊

    php將html轉化為word,phpword中文手冊 相關圖片html5 word文件本文的例子描述了在PHP中將上傳的word文件轉換成HTML的方法。與您分享以供參考。具體實現方法如下:上傳頁面:?12345678910121314!DOCTphpword轉html閱讀...

  • 如何防范漏洞,怎樣防范漏洞

    如何防范漏洞,怎樣防范漏洞 相關圖片xss漏洞防范1。數據庫下載漏洞攻擊原理:當使用access作為后臺數據庫時,如果有人通過各種方法知道或猜測服務器的access數據庫路徑和數據庫名,也可以下載access數漏洞是怎么產生的...

  • 迭代算法的例子,迭代重建算法

    迭代算法的例子,迭代重建算法 相關圖片迭代計算什么意思在網頁上實現樹結構有點麻煩。在一個新的MIS系統的開發中,我們的項目組廣泛使用了樹形結構,如人員的選擇和單元的選擇。該MIS系統的數據庫是Oracle 9i,o斐波那契...

  • js 數組對象排序,js對象數組進行快去排序

    js 數組對象排序,js對象數組進行快去排序 相關圖片json對象數組asp.net中的ArrayList對象是包含單個數據值的數據項的集合。如何創建ArrayList對象以及如何對ArrayList中數據項的內容進行排序?下面是數組對象去重...

關注微信

变脸官网查询