
正文
vb.net抓图控件 vbnet抓取网页数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB截取屏幕
[DllImport("user32.dll", EntryPoint = "GetDC")]
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);
先找到vb.net抓图控件你要截图vb.net抓图控件的那个窗体vb.net抓图控件的 句柄 然后根据这个句柄得到改窗体vb.net抓图控件的DC 创建一个bitmap 然后填充 得到vb.net抓图控件的bitmap后 显示到picturebox里面
相关问答
Q1: vb.net 如何动态添加picturebox 控件数组(在不知道图片大小的情况下)
Dim PictureBox11(1) as PictureBox ‘放在最前面
Dim i as integer
Form_load 设i=0
动态添加:
if ipicturebox11.ubound then load(picturebox11(i))
picturebox11(i).loadpicture("图片地址")
Picture11(i).PaintPicture Picture11(i).Picture, 0, 0, Picture11(i).Width, Picture11(i).Height
picturebox11(i).visible=true
i=i+1
动态删除
i=i-1
unload picturebox11(i)
Q2: vb.net图片按钮如何实现?用什么控件?
用Button控件就可以了 修改BackgroundImage 属性 类似这样
Button1.BackgroundImage = Image.FromFile("C:\Users\hp\Desktop\EMOTICONS\EMOTICON SMILE.png")
如果要实现动态效果的话需要2个图片当Button1_MouseHover事件时也就是鼠标停留在button上的时候显示一个图片,当Button1_MouseLeave事件时,也就是鼠标离开button时显示原来的图片,这样就是动态的了.
Q3: VB.NET当鼠标停在屏幕任意地方,得到该点的颜色
我有个笨办法,先用API抓图到内存里,然后再在根据你点鼠标的屏幕工作区坐标,去那图里取色。
-----------------------
'抓图所需的API
Private Declare Function CreateCompatibleDC Lib "GDI32" (ByVal hDC As Integer) As Integer
Private Declare Function CreateCompatibleBitmap Lib "GDI32" (ByVal hDC As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer) As Integer
Private Declare Function SelectObject Lib "GDI32" (ByVal hDC As Integer, ByVal hObject As Integer) As Integer
Private Declare Function BitBlt Lib "GDI32" (ByVal srchDC As Integer, ByVal srcX As Integer, ByVal srcY As Integer, ByVal srcW As Integer, ByVal srcH As Integer, ByVal desthDC As Integer, ByVal destX As Integer, ByVal destY As Integer, ByVal op As Integer) As Integer
Private Declare Function DeleteDC Lib "GDI32" (ByVal hDC As Integer) As Integer
Private Declare Function DeleteObject Lib "GDI32" (ByVal hObj As Integer) As Integer
Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Integer) As Integer
Const SRCCOPY As Integer = HCC0020
'抓图的部分
Dim hDC, hMDC As Integer
Dim hBMP, hBMPOld As Integer
Dim sw, sh As Integer
hDC = GetDC(0)
hMDC = CreateCompatibleDC(hDC)
sw = Screen.PrimaryScreen.Bounds.Width
sh = Screen.PrimaryScreen.Bounds.Height
hBMP = CreateCompatibleBitmap(hDC, sw, sh)
hBMPOld = SelectObject(hMDC, hBMP)
BitBlt(hMDC, 0, 0, sw, sh, hDC, 0, 0, SRCCOPY)
hBMP = SelectObject(hMDC, hBMPOld)
Dim bmp As Bitmap = Image.FromHbitmap(New IntPtr(hBMP))
DeleteDC(hDC)
DeleteDC(hMDC)
DeleteObject(hBMP)
......
'取点的颜色
bmp.GetPixel(e.X, e.Y)
----------------------------
关键就是这些你自己组合吧,你分给的太少了,很麻烦,恕我不帮你改全了。如果要仔细帮你改,请另开高分贴,不要用新马甲来
Q4: VB.NET中怎么加载第三方控件
点击菜单:项目=》添加引用 弹出窗口后选择“COM”项,然后找到你要加载的控件。
记得先调用CMD使用 regsvr32 注册你准备加载的控件哈。
关于vb.net抓图控件和vbnet抓取网页数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







