vb.net裁切圖片 vb裁剪圖片

vb.net 截屏 ,獲取活動窗口

'模塊中

創(chuàng)新互聯(lián)提供網(wǎng)站制作、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計,品牌網(wǎng)站制作,廣告投放等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,十載的網(wǎng)站開發(fā)和建站經(jīng)驗,助力企業(yè)信息化建設(shè),成功案例突破成百上千,是您實現(xiàn)網(wǎng)站建設(shè)的好選擇.

Declare Function GetDC Lib "user32" (ByVal hwnd As Long) _

As Long

Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long

Declare Function BitBlt Lib "gdi32" _

(ByVal hDestDC As Long, ByVal x As Long, _

ByVal y As Long, ByVal nWidth As Long, _

ByVal nHeight As Long, ByVal hSrcDC As Long, _

ByVal xSrc As Long, ByVal ySrc As Long, _

ByVal dwRop As Long) As Long

'form1中

Private Sub Command1_Click()

Dim hDCtmp As Long, picWidth As Double, picHeight As Double

Dim x As Double

Dim y As Double

x = Val(Text2.Text)

y = Val(Text3.Text)

picWidth = Val(Text3.Text)

picHeight = Val(Text4.Text)

hDCtmp = GetDC(0)

BitBlt Picture1.hdc, 0, 0, picWidth, picHeight, hDCtmp, x, y, vbSrcCopy

ReleaseDC 0, hDCtmp

End Sub

目的: 將屏幕按照指定坐標(biāo)和大小進(jìn)行截取成圖,在picture1顯示

問題: 大小是相同了,為什么截取的坐標(biāo)不對,只是屏幕上的左上

相信大家都用過QQ截圖功能。不過很多人并沒有真正掌握好它的用法。將QQ截圖與其它截屏和制圖軟件配合使用,會有意想不到的效果。

獲取顏色的RGB值

我們在編輯圖片或網(wǎng)頁的時候,經(jīng)常需要獲取某種顏色的“RGB值”,所以很多人都安裝了第三方的顏色吸取工具。其時用QQ截圖鍵即可獲取屏幕上任意顏色的RGB值。

當(dāng)按下“Ctrl+Shift+A”彈出“截圖”提示框時,提示框中的“當(dāng)前像素RGB”即為當(dāng)前鼠標(biāo)屏幕位置的顏色RGB值,將鼠標(biāo)移動到你想查看的屏幕顏色上即可獲得相應(yīng)的RGB值(如圖1)。

圖1精確截取圖片大小

有時我們對要使用的截圖尺寸有嚴(yán)格要求,比如論壇簽名或QQ頭像等。用QQ截圖鍵可以按尺寸精確截取,一步到位無需再進(jìn)行后期裁剪了。

按下QQ截圖鍵,按住鼠標(biāo)不放選取截取范圍時,在鼠標(biāo)上方會有一個信息框顯示當(dāng)前范圍的詳細(xì)信息,其中“矩形大小”就是以像素來表示的圖片的尺寸大小,括號內(nèi)的數(shù)字分別表示的是長和高(如圖2)。松開鼠標(biāo)調(diào)整截圖框時,對照“矩形大小”就可以按需要的尺寸來精確截圖范圍,然后用鼠標(biāo)點住截圖框?qū)⒔貓D框拖到要截取的圖片上,雙擊即可獲得所需尺寸的圖片了。

圖2圖片拼貼好幫手

大部分的截圖軟件一次只能截取一張圖片,當(dāng)要截取多張圖片并進(jìn)行拼貼組合時,就需要一張一張截取全部保存后再進(jìn)行拼貼操作,非常麻煩。

我們知道用QQ截圖鍵截取的圖片可以在任一個可以粘貼圖片的程序中使用,這樣只需用截圖軟件進(jìn)行一次截圖操作,剩下的圖片用QQ截圖鍵來截取,然后依次粘貼到截圖軟件的窗口中即可快速進(jìn)行拼貼操作了,是不是很方便啊。

小提示:QQ截圖鍵無需打開聊天窗口即可使用,截取的圖片在任一可粘貼圖片的程序窗口中如畫圖、Word等,使用“粘貼”命令即可使用

請問vb.net2015的裁剪圖片的程序要怎么寫?

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

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)???'起點和長寬

Dim?newImg?As?Bitmap?=?img.Clone(rc,?Imaging.PixelFormat.Format32bppArgb)

Me.CreateGraphics.DrawImage(newImg,?0,?0)

End?Sub

VB.net加載圖片某一位置

你要確定每個狀態(tài)的大小是一樣的才可以:

Public Bitmap CutImage(ByVal start As Point, ByVal end As Point, ByVal b As Bitmap)

Dim f As New Bitmap(end.X - start.X + 1, end.Y - start.Y + 1)

For i As Integer = start.X To end.X + 1

For j As Integer = start.Y To end.Y + 1

Dim c As Color = b.GetPixel(i, j)

f.SetPixel(i - start.X, j - start.Y, c)

Next

Next

Return f

End Sub

這個函數(shù)就可以用于裁剪圖像,返回裁剪后的圖像,start是開始裁剪的位置,end是結(jié)束裁剪的位置,b是要裁剪的圖像,假如你的這些按鈕每個寬30,高20,你就可以用

PictureBox1.Image = CutImage(New Point(第n - 1個按鈕 * 30, 0), New Point(第n個按鈕 * 30, 20), 按鈕存在的位圖)

名稱欄目:vb.net裁切圖片 vb裁剪圖片
分享路徑:http://muchs.cn/article24/doegcje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、品牌網(wǎng)站制作、云服務(wù)器、軟件開發(fā)、建站公司App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化