GetPixel (gdi32)
Last changed: -188.246.251.25

.
Summary

C# Signature:

[DllImport("gdi32.dll")]
static extern uint GetPixel(IntPtr hdc, int nXPos, int nYPos);

User-Defined Types:

None.

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

  [DllImport("user32.dll")]
  static extern IntPtr GetDC(IntPtr ptr);

  [DllImport("gdi32.dll")]
  static extern uint GetPixel(IntPtr hdc, int nXPos, int nYPos);

  // Print out the RGB value of the pixel of myControl which is under the mouse cursor.
  // NB: BLUE and RED components will be swapped because GetPixel returns ABGR
  private void myControl_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
  {
    IntPtr hwnd = (sender as Control).Handle;
    IntPtr hdc = GetDC(hwnd);
    uint pixel = GetPixel(hdc, e.X, e.Y);
    Color color = Color.FromArgb((int)pixel);
    Console.WriteLine("Color is {0}", color);
  }

Alternative Managed API:

Do you know one? Please contribute it!

Documentation
GetPixel on MSDN