网站建设资讯

NEWS

网站建设资讯

vb.net裁剪图片 vb编程图片

vb.net 截屏 ,获取活动窗口

'模块中

创新互联公司-专业网站定制、快速模板网站建设、高性价比墨竹工卡网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式墨竹工卡网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖墨竹工卡地区。费用合理售后完善,十年实体公司更值得信赖。

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

目的: 将屏幕按照指定坐标和大小进行截取成图,在picture1显示

问题: 大小是相同了,为什么截取的坐标不对,只是屏幕上的左上

相信大家都用过QQ截图功能。不过很多人并没有真正掌握好它的用法。将QQ截图与其它截屏和制图软件配合使用,会有意想不到的效果。

获取颜色的RGB值

我们在编辑图片或网页的时候,经常需要获取某种颜色的“RGB值”,所以很多人都安装了第三方的颜色吸取工具。其时用QQ截图键即可获取屏幕上任意颜色的RGB值。

当按下“Ctrl+Shift+A”弹出“截图”提示框时,提示框中的“当前像素RGB”即为当前鼠标屏幕位置的颜色RGB值,将鼠标移动到你想查看的屏幕颜色上即可获得相应的RGB值(如图1)。

图1精确截取图片大小

有时我们对要使用的截图尺寸有严格要求,比如论坛签名或QQ头像等。用QQ截图键可以按尺寸精确截取,一步到位无需再进行后期裁剪了。

按下QQ截图键,按住鼠标不放选取截取范围时,在鼠标上方会有一个信息框显示当前范围的详细信息,其中“矩形大小”就是以像素来表示的图片的尺寸大小,括号内的数字分别表示的是长和高(如图2)。松开鼠标调整截图框时,对照“矩形大小”就可以按需要的尺寸来精确截图范围,然后用鼠标点住截图框将截图框拖到要截取的图片上,双击即可获得所需尺寸的图片了。

图2图片拼贴好帮手

大部分的截图软件一次只能截取一张图片,当要截取多张图片并进行拼贴组合时,就需要一张一张截取全部保存后再进行拼贴操作,非常麻烦。

我们知道用QQ截图键截取的图片可以在任一个可以粘贴图片的程序中使用,这样只需用截图软件进行一次截图操作,剩下的图片用QQ截图键来截取,然后依次粘贴到截图软件的窗口中即可快速进行拼贴操作了,是不是很方便啊。

小提示:QQ截图键无需打开聊天窗口即可使用,截取的图片在任一可粘贴图片的程序窗口中如画图、Word等,使用“粘贴”命令即可使用

请问vb.net2015的裁剪图片的程序要怎么写?

用位图对象的Clone 方法就可以获取图片某个区域成一个新的位图对象,下面例子:

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加载图片某一位置

你要确定每个状态的大小是一样的才可以:

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

这个函数就可以用于裁剪图像,返回裁剪后的图像,start是开始裁剪的位置,end是结束裁剪的位置,b是要裁剪的图像,假如你的这些按钮每个宽30,高20,你就可以用

PictureBox1.Image = CutImage(New Point(第n - 1个按钮 * 30, 0), New Point(第n个按钮 * 30, 20), 按钮存在的位图)


分享标题:vb.net裁剪图片 vb编程图片
分享URL:http://njwzjz.com/article/dosejho.html