资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

关于vb.net怎么实现截图的信息

VB截取屏幕

[DllImport("user32.dll", EntryPoint = "GetDC")]

创新互联专注于企业营销型网站、网站重做改版、蓟州网站定制设计、自适应品牌网站建设、html5商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为蓟州等各大城市提供网站开发制作服务。

public static extern IntPtr GetDC(IntPtr hWnd);

[DllImport("user32.dll", EntryPoint = "ReleaseDC")]

public static extern IntPtr ReleaseDC(IntPtr hWnd, IntPtr hDC);

[DllImport("user32.dll", SetLastError = true)]

static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

[DllImport("user32.dll", SetLastError = true)]

static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

先找到你要截图的那个窗体的 句柄 然后根据这个句柄得到改窗体的DC 创建一个bitmap 然后填充 得到的bitmap后 显示到picturebox里面

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

'模块中

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中,如何编写截图程序?

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 2008 如何将指定的窗体截图并保存

INTOUCH自带的就有,打印屏幕的命令

自己写个时间条件运行那命令就可以了

PRINTSCREEN这个命令 具体怎么用 看下帮助

希望我的回答对你有所帮助

如有其他问题,可以继续追问,您的采纳是我前进的动力!

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怎么实现截图的信息
网址分享:http://cdkjz.cn/article/dodocgi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220