黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

.NET3.5 GDI+ 圖形操作1

系統(tǒng) 2287 0

??????前言: 本文章抄襲自本人剛剛買的《ASP.NET 3.5從入門到精通》這本書,此書介紹在 http://www.china-pub.com/44991 ?,本文章95%與此書的內(nèi)容完全一樣,另5%是我改正一些失誤以后加上去的,該書原示例代碼只能運(yùn)行在IE核心的瀏覽器上,非IE核心瀏覽器上運(yùn)行會出現(xiàn)些顯示問題,本人更改了其中的一些代碼。本文章經(jīng)歷昨晚本人五個小時的手打而成(且還未打完,下班回去繼續(xù)打,想不到我的打字速度退化得這么快,郁悶?。。。自捳f:好記性不如爛筆頭,把書的內(nèi)容手打出來,對手,對腦,都有好處!??!


10 圖形操作

圖形化界面是 Windows 操作系統(tǒng)最重要的特性之一,微軟以此迅速打敗對手,贏得了用戶的認(rèn)可。計算機(jī)圖形學(xué)一直是計算機(jī)科學(xué)體系中的重要內(nèi)容,在 Windows 編程史上,圖形操作也一直是核心開發(fā)技術(shù)之一。本章將介紹如何在 ASP.NET Web 應(yīng)用程序中 GDI+ 繪圖。

?

10.1 圖形基礎(chǔ)

?

10.1.1 GDI+ 介紹

?

讀者可能聽說過 Windows GDI Graphics Device Interface , 圖形裝置界面),這是 Windows 操作系統(tǒng)的一個圖形包,用于支持 Windows 操作系統(tǒng)中的圖形界面,它也幫助開發(fā)人員在不考慮特定設(shè)備細(xì)節(jié)的情形下在計算機(jī)上進(jìn)行繪圖操作。比如就圖形輸出來說,開發(fā)人員在繪圖時根本不用考慮是在屏幕上繪制還是在打印機(jī)上繪制,只需要指明輸出設(shè)備即可讓 GDI 自己解決這些細(xì)節(jié)問題。

?

隨著開發(fā)技術(shù)的進(jìn)步, GDI 從某種意義上已經(jīng)不能滿足需求,于是微軟把 GDI 進(jìn)一步封裝抽象,形成新的 GDI+ ,并在性能和功能上進(jìn)一步完善。 GDI+ 構(gòu)成了 Windows XP 操作系統(tǒng)及其后續(xù)版本的子系統(tǒng)的應(yīng)用程序編程接口( API )。 GDI+ 負(fù)責(zé)在屏幕和打印機(jī)上顯示信息,它是 GDI 的改進(jìn),同時也是 .NET 框架結(jié)構(gòu)的重要組成部分。和 GDI 一樣,它提供了對二維圖形圖像和文字排版處理的支持,通過 GDI+ 能夠創(chuàng)建與設(shè)備無關(guān)的應(yīng)用程序。使用 GDI+ 可以創(chuàng)建圖形、繪制文本以及將圖形圖像作為對象來操作,旨在提高性能和易用性。

?

GDI 相比, GDI+ 提供了一些新特性: Alpha 混合技術(shù)、反鋸齒處理技術(shù)、漸變色和紋理填充、寬線條、基本幾何曲線樣式、可縮放區(qū)域、浮點數(shù)坐標(biāo)、嵌入畫筆、高質(zhì)量過濾和縮放、多種線條樣式和端點選項等。

?

當(dāng)然,本書并不專門講解圖形編程,限于篇幅,本章將針對通用操作進(jìn)行講述。

?

?

10.1.1 GDI+ 基礎(chǔ)

?

在學(xué)習(xí) .NET GDI+ 圖形操作以前,先將幾個基礎(chǔ)概念回顧一下。

?

1. ?????? 坐標(biāo)系

?

GDI+ 在坐標(biāo)系中繪制直線、矩形和其他形狀,默認(rèn)坐標(biāo)系的原點是左上角,并且 X 軸指向右邊, Y 軸指向下邊。默認(rèn)坐標(biāo)系的度量單位是像素,如圖所示。

?

.NET3.5 GDI+ 圖形操作1

?

2. ?????? 像素

?

計算機(jī)監(jiān)視器是在一個點的矩形數(shù)組上創(chuàng)建其顯示,這些點被稱為圖片元素或像素。各臺監(jiān)視器屏幕上顯示的像素數(shù)量都是不同的,并且用戶通??梢栽谝欢ǔ绦蛏吓渲脝为氁慌_監(jiān)視器上顯示的像素數(shù)量。比如通常所說的分辨率 1024*768 就是指 X 軸上有 1024 個像素、 Y 軸上有 768 個像素,所以坐標(biāo)實際上是建立在像素點陣上的。下圖表示了 3 個點及其坐標(biāo)。

.NET3.5 GDI+ 圖形操作1

?

從這個意義上說,如何表示一條直線呢?下圖演示了在確定兩個點的情況下,如何在計算機(jī)點陣中表示一條直線。

?

.NET3.5 GDI+ 圖形操作1

?

由此可見,直線并非上那么直,只不過在分辨率很高的情況下肉眼無法分辨而已。當(dāng)然,這個計算過程很復(fù)雜,是計算機(jī)圖形學(xué)方面的知識,此處不再贅述。

?

?

3. ?????? 位圖

?

位圖是位的數(shù)組,它指定了像素矩陣中各像素的顏色,專用于單個像素的位數(shù),決定了可分配到該像素的顏色數(shù)。例如,如果用 4 位來呈現(xiàn)每個像素,那么一個給定的像素就可以分配到 16 2 4 16 )種顏色中的一種。簡單來說,位數(shù)越多,表現(xiàn)出來的圖形顏色越豐富、逼真。

?

存儲位圖的磁盤文件通常包含一個或多個信息塊,信息塊中存儲了如每像素位數(shù)、每行的像素數(shù)以及數(shù)組中的行數(shù)等信息。不同格式的圖形文件會采用不同的存儲標(biāo)準(zhǔn),一般會以不同的擴(kuò)展名標(biāo)識。

?

GDI+ 支持如下圖形文件格式

?

BMP

?

BMP Windows 使用的一種標(biāo)準(zhǔn)格式,用于存儲設(shè)備無關(guān)和應(yīng)用程序無關(guān)的圖像。一個給定 BMP 文件的每像素位數(shù)值( 1,4,8,16,24,32 64 )在文件頭中指定。每像素 24 位的 BMP 文件是通用的。 BMP 文件通常是不壓縮的,因此不太適合通過 Internet 傳輸。

?

◇可交換圖像文件格式( GIF

?

GIF 是一種用于在網(wǎng)頁中顯示圖像的通用格式。 GIF 文件適用于畫線、有純色塊的圖片和在顏色之間有清晰邊界的圖片。 GIF 文件是壓縮的,但是壓縮過程中沒有信息丟失,解壓縮的圖像與原始圖像完全一樣。 GIF 文件中的一種顏色可以被指定為透明,這樣,圖像將具有顯示它的任何網(wǎng)頁的背景色。在單個文件中存儲一系列 GIF 圖像可以形成一個動畫 GIF 。 GIF 文件每像素最多能存儲 8 位,所以它們只限于使用 256 種顏色

?

◇聯(lián)合攝影專家組( JPEG

?

JPEG 是一種適應(yīng)于自然景觀(如掃描的照片)的壓縮方案。一些信息會在壓縮過程中丟失,但這些丟失人眼是察覺不到的。 JPEG 文件每像素存儲 24 位,因此它們 8 能夠顯示超過 1600 萬種顏色。 JPEG 文件不支持透明或動畫。 JPEG 圖像中的壓縮級別是可以控制的,但較高的壓縮級別(較小的文件)會導(dǎo)致丟失更多的信息。對于一幅以 20 1 壓縮比生成的圖像,人眼難以把它和原始圖像區(qū)別開來。與 BMP GIF 相比, JPEG 壓縮不適用于線條圖形、純色塊和清晰邊界。

?

有意思的是, JPEG 是一種壓縮方案,不是一種文件格式,“ JPEG 文件交換格式( JFIF )”是一種文件格式,常用于存儲和傳輸已根據(jù) JPEG 方案壓縮的圖像。 Web 瀏覽器顯示的 JFIF 文件使用 .jpg 擴(kuò)展名

?

◇可交換圖像文件( EXIF

?

EXIF 是一種適用于數(shù)碼相機(jī)拍攝的照片的文件格式,其文件中含有根據(jù) JPEG 規(guī)格壓縮的圖像。 EXIF 文件中還包含了有關(guān)照片的信息(拍攝日期、快門速度、曝光時間等)和相機(jī)信息(制造商、型號等)。

?

◇可移植網(wǎng)絡(luò)圖形( PNG

?

PNG 格式不但保留了許多 GIF 格式的優(yōu)點,還提供了超出 GIF 的功能。像 GIF 文件一樣, PNG 文件在壓縮時也不損失信息。 PNG 文件能以每像素 8,24 48 位來存儲顏色,并以每像素 1 、 2 4 、 8 16 位來存儲灰度。相比之下, GIF 文件只能使用每像素 1 2 、 4 8 位。 PNG 文件還可為每個像素存儲一個 Alpha 值,該值指定了該像素顏色與背景顏色混合的程度。

?

PNG 優(yōu)于 GIF 之處在于,它能漸進(jìn)地顯示一幅圖像(也就是說,在圖像通過網(wǎng)絡(luò)連接傳遞的過程中,顯示的圖像將越來越完整)。 PNG 文件可包含灰度校正和顏色校正信息,以便圖像在各種各樣的顯示設(shè)備上精確地呈現(xiàn)。

?

◇標(biāo)簽圖像文件格式( TIFF

?

TIFF 是一種靈活的、可擴(kuò)展的格式,各種各樣的平臺和圖像應(yīng)用程序都支持這種格式。 TIFF 文件能以每像素任意位來存儲圖像,并可以使用各種各樣的壓縮算法。單個的多頁 TIFF 文件可以存儲數(shù)幅圖像;可以把與圖像相關(guān)的信息(掃描儀制造商、主機(jī)、壓縮類型、打印方向和每像素采樣等)存儲在文件中并使用標(biāo)簽來排列這些信息;也可以根據(jù)需要通過批準(zhǔn)和添加新標(biāo)簽來擴(kuò)展 TIFF 格式。

?

?

?

4. ?????? 顏色

?

計算機(jī)中的顏色表示通常有以下 3 種方式:

?

RGBA

?

R 代表紅色, G 代表綠色, B 代表藍(lán)色, A 代表透明度,即可紅、綠、藍(lán)和透明度的組合來表示計算機(jī)中的所有顏色。

?

RGB 是色光的色彩模式: 3 各色彩疊加形成了其他的色彩。因為 3 種顏色都有 256 個亮度水平級,所以 3 種色彩疊加就形成 1670 萬種顏色了,也就是真彩色,通過它們足以展現(xiàn)絢麗的世界。在 RGB 模式中,由紅、綠、藍(lán)相疊加可以產(chǎn)生其他顏色,因此該模式也叫加色模式。所有顯示器、投影設(shè)備以及電視機(jī)等許多設(shè)備都是依賴于這種加色模式來實現(xiàn)的。

?

就編輯圖像而言, RGB 色彩模式也是最佳的色彩模式,因為它可以提供全屏幕的 24 位的色彩范圍,即真彩色顯示。但是,如果將 RGB 模式用于打印,那就不是最佳的了,因為 RGB 模式所提供的有些色彩已經(jīng)超出了打印的范圍之外,因此在打印一幅真彩色的圖像時,就必然會損失一部分亮度,并且比較鮮艷的色彩會失真。

?

HSB

?

即用色調(diào)、飽和度、亮度的組合方式來表示顏色,其中 H 表示色相, S 表示飽和度, B 表示亮度。

?

色相:表示純色,即組成可見光譜的單色。紅色在 0 度,綠色在 120 度,藍(lán)色在 240 度。它基本上是 RGB 模式全色度的餅狀圖。

?

飽和度:表示色彩的純度,為 0 是為灰色。白、黑和其他灰色色彩都沒有飽和度。在最大飽和度時,每一色相具有最純的色光。

?

亮度:表示色彩的明亮度。為 0 時即為黑色,最大亮度是色彩最鮮明的狀態(tài)。

?

CMYK

?

代表印刷上用的 4 種顏色, C 代表青色, M 代表洋紅色, Y 代表黃色, K 代表黑色。這 4 種顏色的組合用來表示印刷上的顏色。

?

當(dāng)陽光照射到一個物體上時,這個物體將吸收一部分光線,并將剩下的光線進(jìn)行反射,反射的光線就是人們所看見的物體顏色。這是一種減色色彩模式,同時也是與 RGB 模式的根本不同之處。不光人們看物體的顏色時用到了這種減色模式,而且在紙上印刷時應(yīng)用的也是這種減色模式。按照這種減色模式,就衍變出了適合印刷的 CMYK 色彩模式。因為在實際應(yīng)用中,青色、洋紅色和黃色很難疊加形成真正的黑色,最多不過是褐色而已,因此才引入 K- 黑色。黑色的作用是強(qiáng)化暗調(diào),加深暗部色彩。

?

CMYK 模式是最佳的打印模式。

?

.NET 平臺上運(yùn)用顏色時,用戶不必關(guān)心這些細(xì)節(jié), System.Drawing.Color 結(jié)構(gòu)封裝了大部分常用顏色值及其操作。

?

?

?

?

.NET3.5 GDI+ 圖形操作1


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論