在VB.NET操作縮放圖像中的顯示和保存縮放圖像,用到Image和Graphics類,在VSDotNet2K3下面Reference里自動添加了引用System.Drawing,直接用就行。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括臨江網(wǎng)站建設(shè)、臨江網(wǎng)站制作、臨江網(wǎng)頁制作以及臨江網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,臨江網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到臨江省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
實(shí)現(xiàn)VB.NET操作縮放圖像代碼如下:DimimgAsImageImage=Image.FromFile
(D:\Image\tstImage.jpg)
''tstImage是原先的圖片DimgrfxAsGraphics=Me
.CreateGraphics
grfx.DrawImage(img,0,0,img.Width*
3,img.Height*3)''在Form里顯示
DimimgnewAsNewSystem.Drawing.Bitmap
(img,img.Height*3,img.Width*3)
''新建一個放大的圖片
imgnew.Save(D:\Image\tstNewImage.jpg,
System.Drawing.Imaging.ImageFormat.Jpeg)
''保存放大后圖片
你可以建一個Form,然后在Form里拖進(jìn)一個Button,把上面的代碼放在Button_Click事件里面源碼天空
,執(zhí)行就行了。
對上面VB.NET操作縮放圖像代碼的解釋:
1.要獲取Graphics對象只能從某一事件的參數(shù)中獲取或者使用窗體和控件對象的CreateGraphics方法來獲取-----上面代碼使用Me.CreateGraphics來引用這個對象。
2.加載一個圖片用Image類的FromFile或者FromStream方法
3.用DrawImage來顯示一個圖片,該方法有30多個重載方法,可以查MSDN了解細(xì)節(jié)。
4.保存時(shí)的一個問題:我們必須先建一個對象,用于存縮放圖像。
0表示 value
1表示power
2表示clng(math.pow(value,power))
012即表示writeline后續(xù)這三個參數(shù)的索引。
:n表示將索引2以千位分隔符表示,后面的0表示保留0位小數(shù)。
{2:x}將索引2轉(zhuǎn)換為十六進(jìn)制。
1. 什么是類和對象?
答:類包含某一類對象的數(shù)據(jù)和過程。對象是類的實(shí)例。
2. 為什么采用類和對象進(jìn)行程序設(shè)計(jì)?
答:以便按照對象定義類,提高程序代碼的可重用性,避免重復(fù)勞動。
3. 在同一個類中,應(yīng)當(dāng)包括哪些對象的屬性和方法?
答:同一類對象的數(shù)據(jù)和過程。
4. VB程序設(shè)計(jì)主要包括哪兩個方面的內(nèi)容?
答:Windows應(yīng)用程序界面和代碼。
5. 什么是事件驅(qū)動?
答:根據(jù)事件轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理過程。
1. 控件是窗體上的 對象 。
2. Visual Basic具有 BASIC程序語言簡單易學(xué)的 優(yōu)點(diǎn),新增了 可視化和面向面向?qū)ο蟪绦蛟O(shè)計(jì)的 熱點(diǎn),是 Windows編程人員廣泛使用的編程 工具。
3. 對象的 屬性 是在其類中定義的數(shù)據(jù)。
4. 對象的 方法 是在其類中定義的過程。
5. 對象本身的動作或功能稱為 方法 ,外界施加于某對象的動作或操作稱為 事件 。
1.面向過程
是指從功能的角度分析問題,將待解決的問題空間分解成若干個功能模塊,每個功能模塊描述一個操作的具體過程。
2.面向過程程序設(shè)計(jì)
主要是根據(jù)事務(wù)本身的邏輯過程進(jìn)行編程的一種方法。
3.面向?qū)ο蟪绦蛟O(shè)計(jì)
是一種計(jì)算機(jī)編程架構(gòu),是由單個能夠起到子程序作用的單元或?qū)ο蠼M合而成。即按照對象編寫程序。
4.事件驅(qū)動程序設(shè)計(jì)
是一種電腦程式設(shè)計(jì)模型。這種模型的程式執(zhí)行流程是由使用者的動作或者是由其他程式的訊息來決定的。
5.函數(shù)
是一種特定的運(yùn)算,在程序中使用一個函數(shù)時(shí),只要給出函數(shù)名并給出一個或多個參數(shù),就能得到它的函數(shù)值
6.過程
是程序中可以執(zhí)行的一段代碼,過程包含在一個聲明語句和一個結(jié)束語句之間
7.類
是所有具有共同特征的事物的抽象,是一個抽象的概念(類是一組具有相同屬性特征的對象的抽象描述,是面向?qū)ο蟪绦蛟O(shè)計(jì)的又一個核心概念或者類是對一組對象共同具有的屬性和行為的抽象,具有封裝和隱藏性、還具有繼承性)。
8.對象
是一個屬性集合及其操作的封裝體(對象是用來描述現(xiàn)實(shí)世界中客體的部件,是面向?qū)ο筌浖到y(tǒng)在運(yùn)行時(shí)刻的基本單位)。
類是對象的抽象,對象是類的實(shí)例。
9.事件
窗體或控件識別的動作
10.事件驅(qū)動
根據(jù)事件轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理過程。
11.屬性
是一個對象的特性,不同的對象有不同的屬性
12.算法
指解決某個問題的嚴(yán)格方法,描述有始有終的計(jì)算過程。
5.屬性窗口中屬性值被設(shè)置的方式有哪幾種?
6種:輸入 選取 瀏覽 賦值 默認(rèn) 拖動
1.程序代碼是由一行一行的 語句 所組成。
3.在程序代碼中可將一個語句分成兩段的特殊符號為( _ )。
5.數(shù)值變量如果沒有設(shè)置初值,則內(nèi)定值為 0 。
7.如果有一個變量,可能會存放數(shù)值數(shù)據(jù)或字符串?dāng)?shù)據(jù),此時(shí)可以聲明該變量為 對象變量。
9. Integer數(shù)據(jù)類型占 4 bytes的內(nèi)存空間,可以表示的數(shù)值范圍為 -2,147,483,648~2,147,483,647 的整數(shù)
3.VB.NET程序語言數(shù)據(jù)類型的種類有哪些?
(1)數(shù)值型
①整形數(shù):短整形(Short)、整形(Integer)、長整型(Long)
②字節(jié)型(Byte)
③實(shí)型數(shù):單精度型(Single)、雙精度型(Double)
④貨幣型(Decimal)
(2)字符型(Char)和字符串型(String)
(3)邏輯型/布爾型(Boolean)
(4)日期型(Date)
(5)對象型(Object)[即可變型(Variant)]
1.局部變量、全局變量、跨模塊變量分別在何處聲明?其生存期分別是多少?
局部變量在程序內(nèi)聲明。生存期為從所在的程序運(yùn)行開始到程序結(jié)束。
全局變量在窗體內(nèi)所有程序的外邊聲明。生存期為由該變量聲明開始,一直到程序退出運(yùn)行為止。
跨模塊變量在一般模塊的聲明區(qū)用Public來聲明。生存期為從一個Windows應(yīng)用程序項(xiàng)目文件開始運(yùn)行到結(jié)束。
3.什么是靜態(tài)變量?
靜態(tài)變量是在離開程序時(shí)能夠繼續(xù)保留目前的值,待下回進(jìn)入該程序時(shí)能夠繼續(xù)保留的變量值的局部變量,用Static關(guān)鍵字聲明。
(一)問答題
1.請簡單說明在程序中使用程序的好處。
(1)程序可以重復(fù)使用,以方便維護(hù)與程序調(diào)試。
(2)程序可以讓其他工程或項(xiàng)目使用。
(3)程序的邏輯簡單、明確,可以讓程序變得簡單且可讀性高。
(4)程序具有模塊化的功能,因此可以將一個大的應(yīng)用程序分成數(shù)個小的且不同功能的程序,讓不同的程序設(shè)計(jì)師分別編寫?yīng)毩⒉煌δ艿某绦?,并以團(tuán)隊(duì)開發(fā),加快應(yīng)用程序開發(fā)的時(shí)間。
3.試比較傳值調(diào)用與傳址調(diào)用的差異。
(1)聲明方式不同:
傳值——在程序中的虛自變量之前加上ByVal
傳址——在程序中的虛自變量之前加上ByRef
(2)占用內(nèi)存不同
傳值——調(diào)用程序的實(shí)自變量與被調(diào)用程序的虛自變量占用不同內(nèi)存
傳址——調(diào)用程序的實(shí)自變量與被調(diào)用程序的虛自變量占用同一地址的內(nèi)存,也就是說,在做參數(shù)傳遞時(shí),調(diào)用程序中的實(shí)自變量是將自己本身的內(nèi)存地址傳給被調(diào)用程序的虛自變量
(3)虛自變量更改結(jié)果不同
傳值——使用傳值調(diào)用可以防止變量被程序修改
傳址——被調(diào)用程序可以通過虛自變量將值傳回給調(diào)用程序
5.什么是程序多載?
程序多載是使用不同的自變量串行或數(shù)據(jù)類型來加以區(qū)分相同名稱的程序。
VB.NET中的變量在使用前要進(jìn)行聲明。即便不進(jìn)行顯式聲明,VB也會進(jìn)行隱式聲明。
本題中應(yīng)該這樣使用:
Dim a1 As String = TextBox1.Text
System.Diagnostics.Process.Start("IExplore.exe", a1)
變量是存儲值的名稱??墒褂米兞縼泶鎯?shù)字,例如建筑物的高度,或者存儲單詞,例如人的名字。簡單地說,可使用變量表示程序所需的任何信息。
你可能會問:“既然我可以使用信息,為什么要用變量?” 正如其名稱所表示的,變量可以隨著程序的運(yùn)行而改變其表示的值。例如,您可以寫一個程序來跟蹤桌子上罐里的軟心豆粒糖的數(shù)目。因?yàn)樘鞘且怀缘舻?,所以罐里軟心豆粒糖的?shù)目可能會隨著時(shí)間的推移而改變。您可以使用一個可隨時(shí)間變化的變量來表示軟心豆粒糖的數(shù)目,而無需在每次想吃糖時(shí)重新編寫程序。
1. Shared Function System.Runtime.
InteropServices.DLLimport("user32.dll")
2. MessageBoxA(ByVal hwnd As Integer,
ByVal text As String, ByVal
lpcaption As String, ByVal
wtype As Integer) As Integer
3. End Function
首先integer被作為32位數(shù)據(jù)替代了long(long是64位)
System是Net語言中的一個族,System.Runtime.InteropServices是system中的一個類。System.Runtime.InteropServices.DLLimpor是其中的一個方法。調(diào)用DLL的API
接口,這個的意思就是vb6的lib"user32", share是共享的意思,例如:
1. Public Class classA
2. Shared Function System.Runtime.
InteropServices.DLLimport("user32.dll")
MessageBoxA(ByVal h As Integer,
ByVal m As String, ByVal c As
String, ByVal type As Integer) As Integer
3. End Function
4. End Class
你可以這樣調(diào)用 classA.MessageboxA 但是如果沒有這個share 在class后打點(diǎn)就沒有MessageboxA的成員出現(xiàn)了 ,現(xiàn)在你就象以前一樣的使用他吧。
其實(shí)上面這個VB.NET函數(shù)調(diào)用方法并不正確,我們?nèi)耘f要使用API聲明,只是換了一各形式
如果你認(rèn)為這就是VB.NET就錯了,看看這個:
system.WinForms.MessageBox.Show("對話內(nèi)容寫在這里", "標(biāo)題寫在這里", messagebox.OK BitOr messagebox.IconAsterisk)
這就是面向?qū)ο?,你已?jīng)完成了所有的任務(wù)。不需要任何的API聲明。不需要寫多余的代碼。
1. messagebox.IconAsterisk=驚嘆號圖標(biāo)
2. messagebox.IconError=錯誤圖標(biāo)
3. messagebox.IconExclamation=警告圖標(biāo)
4. messagebox.IconHand=錯誤圖標(biāo)
5. messagebox.IconInformation=提示圖標(biāo)
所經(jīng)點(diǎn)NET就是打點(diǎn)到達(dá),在族后面打點(diǎn),在類后面打點(diǎn),在對象后面打點(diǎn)。第二個問題就是類與類之間相互的關(guān)系,Net在網(wǎng)上處理人與人的關(guān)系,在程序語言中處理類與類的關(guān)系。倒底是加不加share,倒底是類后面打點(diǎn),還是Dim成一個對象(把他當(dāng)一個變量吧)再說,是等于class,還是New class.是dim xxx as class=new class 還是dim xxx as new class
就是這樣VB.NET函數(shù)調(diào)用將更簡單,不須要研究一些很難的東西。