
读取屏幕颜色的软件很多,但是像要触发按键,这个需要后期制作一个程序,读取像素颜色的软件比如有,pipette软件,他只要一个按键,只要按下按键不用松开鼠标左键划过颜色就可以读取颜色,要锁定颜色只要鼠标右键就可以。
takecolor软件,是一款比较小巧灵活的拾取颜色的软件,使用快捷键alt+c就可以读取颜色值来。
Private Type RGBQUAD
rgbBlue As Byte
rgbGreen As Byte
rgbRed As Byte
rgbAlpha As Byte '透明通道
End Type
Private Type BITMAPINFOHEADER
biSize As Long '位图大小
biWidth As Long
biHeight As Long
biPlanes As Integer
biBitCount As Integer '信息头长度
biCompression As Long '压缩方式
biSizeImage As Long
biXPelsPerMeter As Long
biYPelsPerMeter As Long
biClrUsed As Long
biClrImportant As Long
End Type
Private Type BITMAPINFO
bmiHeader As BITMAPINFOHEADER
bmiColors As RGBQUAD
End Type
Private Declare Function GetDIBits Lib "gdi32" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDCDest As Long, ByVal XDest As Long, ByVal YDest As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hDCSrc As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Sub Command1_Click()
Dim hDCMemory As Long, hBmp As Long, hBmpPrev As Long, r As Long, hDCSrc As Long, hPal As Long, hPalPrev As Long
Dim LeftSrc As Long, TopSrc As Long, WidthSrc As Long, HeightSrc As Long, bytDataOut() As Byte, lngOut() As Long
Dim BitInfo As BITMAPINFO
Dim i As Long, j As Long
'修改下面4个参数就可以调整画面范围
LeftSrc = 0
TopSrc = 0
WidthSrc = 1024
HeightSrc = 768
hDCSrc = GetWindowDC(0) '(hWndSrc)
hDCMemory = CreateCompatibleDC(hDCSrc)
hBmp = CreateCompatibleBitmap(hDCSrc, WidthSrc, HeightSrc)
hBmpPrev = SelectObject(hDCMemory, hBmp)
r = BitBlt(hDCMemory, 0, 0, WidthSrc, HeightSrc, hDCSrc, LeftSrc, TopSrc, vbSrcCopy)
ReDim bytDataOut(2, WidthSrc - 1, HeightSrc - 1)
ReDim lngOut(WidthSrc - 1, HeightSrc - 1)
With BitInfobmiHeader
biBitCount = 24
biCompression = 0
biPlanes = 1
biSize = Len(BitInfobmiHeader)
biWidth = WidthSrc
biHeight = -HeightSrc
End With
GetDIBits hDCMemory, hBmp, 0, HeightSrc, bytDataOut(0, 0, 0), BitInfo, 0
hBmp = SelectObject(hDCMemory, hBmpPrev)
r = DeleteDC(hDCMemory)
r = ReleaseDC(hWndSrc, hDCSrc)
DeleteObject hBmp
For i = LeftSrc To WidthSrc - 1
For j = TopSrc To HeightSrc - 1
lngOut(i, j) = RGB(bytDataOut(0, i, j), bytDataOut(1, i, j), bytDataOut(2, i, j))
Next
Next
MsgBox "数据已存放在lngOut数组里面" & lngOut(5, 5)
End Sub
修改了下,这次没问题啦
以上就是关于有没有可以读取屏幕像素点颜色并且触发按键的软件全部的内容,包括:有没有可以读取屏幕像素点颜色并且触发按键的软件、VB如何快速获取屏幕所有坐标的颜色值,是全部每一个点,保存在二维数组里面。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)