jhylands

Get pixel coloor under mouse

Jun 23rd, 2012
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 1.35 KB | None | 0 0
  1. Option Strict Off
  2. Option Explicit On
  3. Imports VB = Microsoft.VisualBasic
  4. Imports System.Runtime.InteropServices
  5.  
  6. Friend Class Form1
  7.     Inherits System.Windows.Forms.Form
  8.  
  9.     <StructLayout(LayoutKind.Sequential)> Private Structure POINTAPI
  10.         Dim x As Integer
  11.         Dim y As Integer
  12.     End Structure
  13.  
  14.     Private Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Integer
  15.     Private Declare Function GetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Integer) As Integer
  16.     Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Integer, ByVal x As Integer, ByVal y As Integer) As Integer
  17.  
  18.     Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
  19.         Timer1.Interval = 100
  20.         Timer1.Enabled = True
  21.     End Sub
  22.  
  23.     Private Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer1.Tick
  24.         Dim structCursorPosition As POINTAPI
  25.         Call GetCursorPos(structCursorPosition)
  26.         Dim lColor As Integer = GetPixel(GetDC(0), structCursorPosition.x, structCursorPosition.y)
  27.         BackColor = System.Drawing.ColorTranslator.FromOle(lColor)
  28.         Dim strRgb As String = VB.Right("000000" & Hex(lColor), 6)
  29.         Text = "R:" & VB.Right(strRgb, 2) & " G:" & Mid(strRgb, 3, 2) & " B:" & VB.Left(strRgb, 2)
  30.     End Sub
  31. End Class
Advertisement
Add Comment
Please, Sign In to add comment