vb.net按程序截图 vb截图代码

vb.net 截屏 ,获取活动窗口'模块中
【vb.net按程序截图 vb截图代码】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.net点击按钮后截图,截取被当前窗体挡住的图像作为窗体背景(窗体默认无边框样式)'没办法 , 需的把窗口隐藏一下,还的隐藏后延迟一下再截图 。
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
网上下的VB.NET截屏程序 , 试过好用,哪位大侠给详细解释一下!另外 , 怎么把截图加载到Picturebox里?VB.NT用vb.net按程序截图的是触发事件vb.net按程序截图,一按就会触发vb.net按程序截图,要不你加个timer控件,延迟一秒
标题的问题:你先把图片保存,再加载
VB截取程序截图这是截屏代码,程序运行后3秒截屏,并在vb上显示且保存图片在d:\zt文件夹里 。对于GetDC(GetActiveWindow), 0, 0, vbSrcCopy '抓屏中的0,0是截取的坐标,你可以调整坐标来控制截取的区域,0,0为全屏
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private 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
Private Declare Function GetActiveWindow Lib "user32" () As Long
Dim a
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Form_Load()
On Error Resume Next
MkDir "d:\zt" '建文件夹
Me.AutoRedraw = True
End Sub
Private Sub Timer1_Timer()
a = a1
If a = 3 Then '三秒后开始抓屏
Me.Hide
BitBlt Me.hDC, 0, 0, Screen.Width, Screen.Height, _
GetDC(GetActiveWindow), 0, 0, vbSrcCopy '抓屏
Me.Show
Dim sFile As String
sFile = "d:\zt\"Format(Now, "yyyymmddhhmmss")".BMP"
SavePicture Me.Image, sFile '保存Me.hDC
Timer1.Enabled = False
End If
End Sub
请问:在vb.net2015中,如何编写截图程序? Me.Refresh()
Dim memory As Image = New Bitmap(Me.Width, Me.Height)
Dim g As Graphics = Graphics.FromImage(memory)
g.CopyFromScreen(Me.Left, Me.Top, 0, 0, New Size(Me.Width, Me.Height)) '这里是截屏核心代码
Dim FilePath As String = ""
Dim d As New SaveFileDialog
d.Filter = "JPEG图像|*.JPEG"
If d.ShowDialog = Windows.Forms.DialogResult.OK Then
FilePath = d.FileName
If FilePath = "" Then Exit Sub
'If FilePath.Substring(FilePath.Length - 1, 1)"\" Then FilePath = FilePath"\"
Else
Exit Sub
End If
d.Dispose()
memory.Save(FilePath)
MessageBox.Show("图像已经保存到: "FilePath, "截图成功", MessageBoxButtons.OK, MessageBoxIcon.Information)
关于vb.net按程序截图和vb截图代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读