用位圖對(duì)象的Clone 方法就可以獲取圖片某個(gè)區(qū)域成一個(gè)新的位圖對(duì)象,下面例子:

創(chuàng)新互聯(lián)是專(zhuān)業(yè)的共和網(wǎng)站建設(shè)公司,共和接單;提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行共和網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
Private?Sub?Form1_Click(sender?As?Object,?e?As?EventArgs)?Handles?Me.Click
Dim?img?As?New?Bitmap("d:\015.jpg")
Dim?rc?As?Rectangle?=?New?Rectangle(500,?500,?600,?600)???'起點(diǎn)和長(zhǎng)寬
Dim?newImg?As?Bitmap?=?img.Clone(rc,?Imaging.PixelFormat.Format32bppArgb)
Me.CreateGraphics.DrawImage(newImg,?0,?0)
End?Sub
這問(wèn)題有點(diǎn)籠統(tǒng),軟糖來(lái)說(shuō)說(shuō)把:
圖像處理由System.Drawing命名空間負(fù)責(zé)。
主要是Bitmap類(lèi)和Graphics類(lèi)。
Bitmap表示一個(gè)位圖,可以是BMP,JPG,PNG等文件。
裝載位圖
Dim?位圖?As?Bitmap?=?Bitmap.FromFile("C:\Image1.PNG")
Graphics表示一張畫(huà)紙,能夠進(jìn)行繪制操作。
它可以被窗體、控件、位圖調(diào)用CreateGraphics()方法來(lái)創(chuàng)建。
然后調(diào)用Graphics.Draw開(kāi)頭的一系列函數(shù)來(lái)繪制圖像和圖形,F(xiàn)ill開(kāi)頭的填充圖形。
創(chuàng)建畫(huà)紙并繪制位圖
Dim?畫(huà)紙?As?Graphics?=?Me.CreateGraphics()
畫(huà)紙.DrawImage(位圖,?100,?100,?256,?256)
可以將上面三行放到Form1_Load中測(cè)試,把路徑改一下,
還可以把Me改為能在上面繪圖的控件的名稱(chēng)。
更多內(nèi)容請(qǐng)看MSDN的System.Drawing命名空間。
如滿意,請(qǐng)采納,謝謝。
在VB.NET操作縮放圖像中的顯示和保存縮放圖像,用到Image和Graphics類(lèi),在VSDotNet2K3下面Reference里自動(dòng)添加了引用System.Drawing,直接用就行。
實(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)
''新建一個(gè)放大的圖片
imgnew.Save(D:\Image\tstNewImage.jpg,
System.Drawing.Imaging.ImageFormat.Jpeg)
''保存放大后圖片
你可以建一個(gè)Form,然后在Form里拖進(jìn)一個(gè)Button,把上面的代碼放在Button_Click事件里面源碼天空
,執(zhí)行就行了。
對(duì)上面VB.NET操作縮放圖像代碼的解釋?zhuān)?/p>
1.要獲取Graphics對(duì)象只能從某一事件的參數(shù)中獲取或者使用窗體和控件對(duì)象的CreateGraphics方法來(lái)獲取-----上面代碼使用Me.CreateGraphics來(lái)引用這個(gè)對(duì)象。
2.加載一個(gè)圖片用Image類(lèi)的FromFile或者FromStream方法
3.用DrawImage來(lái)顯示一個(gè)圖片,該方法有30多個(gè)重載方法,可以查MSDN了解細(xì)節(jié)。
4.保存時(shí)的一個(gè)問(wèn)題:我們必須先建一個(gè)對(duì)象,用于存縮放圖像。
項(xiàng)目中要用圖形來(lái)顯示一個(gè)閥門(mén)的開(kāi)度,以及控制閥的開(kāi)度。本來(lái)是要用什么公司買(mǎi)的控件中的餅圖之類(lèi)的實(shí)現(xiàn),不過(guò)我覺(jué)得也是麻煩,就想,還是自己畫(huà)吧。
首先添加一個(gè)TrackBar,名字是“TrackBar1”,一個(gè)label,名字是“L_A_SHANG”,一個(gè)GroupBox,名字是“GB_RIGHT”,,然后添加拉動(dòng)滾動(dòng)條時(shí)的處理函數(shù)
'上位機(jī)控制
Dim m_start As Integer
Dim RcDraw As System.Drawing.Rectangle
Private Sub TrackBar1_Scroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
m_start = (100 - TrackBar1.Value)
Me.L_A_SHANG.Text = Me.TrackBar1.Value.ToString
GB_RIGHT.Invalidate() '重畫(huà)GB_RIGHT
End Sub
添加GB_RIGHT重畫(huà)時(shí)的處理函數(shù)
Private Sub GB_RIGHT_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles GB_RIGHT.Paint
RcDraw.X = TrackBar1.Location.X - 40
RcDraw.Y = 20
RcDraw.Height = 100
RcDraw.Width = 20
e.Graphics.DrawRectangle(New Pen(Color.Blue, 5), RcDraw)
Dim i = TrackBar1.Location.X - 40
For i = TrackBar1.Location.X - 40 To TrackBar1.Location.X - 20
e.Graphics.DrawLine(New Pen(Color.Blue, 5), i, m_start + 20, i, 120)
Next
Me.L_A_SHANG.Text = Me.TrackBar1.Value.ToString + "%"
End Sub
到此以及可以實(shí)現(xiàn)拉動(dòng)條的時(shí)候,圖像跟著變化,并顯示百分比。
'沒(méi)辦法,需的把窗口隱藏一下,還的隱藏后延遲一下再截圖。
Dim?WithEvents?Timer1?As?New?Timer?With?{.Interval?=?30,?.Enabled?=?False}
Dim?Imgrect?As?Rectangle
Dim?img?As?Bitmap
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Imgrect?=?Me.RectangleToScreen(Me.ClientRectangle)
img?=?New?Bitmap(Imgrect.Width,?Imgrect.Height)
Me.Hide()
Timer1.Start()
End?Sub
Private?Sub?Timer1_Tick(ByVal?sender?As?Object,?ByVal?e?As?System.EventArgs)?Handles?Timer1.Tick
Timer1.Stop()
Graphics.FromImage(img).CopyFromScreen(Imgrect.X,?Imgrect.Y,?0,?0,?Imgrect.Size)
Me.BackgroundImage?=?img
Me.Show()
End?Sub
通過(guò):
Clipboard.GetText
Clipboard.GetData
可以得到系統(tǒng)剪貼板的內(nèi)容
如果剪貼板中的內(nèi)容是文字,Clipboard.GetFormat(1)=True 。
獲得文字直接用
Clipboard.GetText
獲得圖片可以用
Clipboard.GetData
設(shè)置文字直接用
Clipboard.SetText
設(shè)置圖片可以用
Clipboard.SetData
清空
Clipboard.Clear
檢測(cè)剪貼板中的內(nèi)容
Clipboard.GetFormat(1)
返回True則文字
返回False則其他
網(wǎng)站標(biāo)題:vb.net圖像裁剪,vbnet圖像處理
網(wǎng)頁(yè)URL:http://chinadenli.net/article44/dsgjeee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、品牌網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)