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 hwnd);

  [DllImport("user32.dll")]
  static extern Int32 ReleaseDC(IntPtr hwnd, IntPtr hdc);

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

  // Print out the RGB value of the pixel which is under the mouse cursor.
  // NB: BLUE and RED components will be swapped because GetPixel returns ABGR
  static private void myControl_MouseMove(object sender,System.Windows.Forms.MouseEventArgs e)
  {
    IntPtr hdc = GetDC(IntPtr.Zero);
    uint pixel = GetPixel(hdc, Cursor.Position.X, Cursor.Position.Y);
    ReleaseDC(IntPtr.Zero,hdc);
    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