Bitmap.SetPixel Method (Int32, Int32, Color)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Sets the color of the specified pixel in this Bitmap.

Namespace:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public void SetPixel(
	int x,
	int y,
	Color color


Type: System.Int32

The x-coordinate of the pixel to set.

Type: System.Int32

The y-coordinate of the pixel to set.

Type: System.Drawing.Color

A Color structure that represents the color to assign to the specified pixel.

Exception Condition

The operation failed.

Use SetPixel method to set the color of an individual pixel in an image programmatically. You can also change an image programmatically by using the LockBits method. Typically for large-scale changes, the LockBits method offers better performance.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. The code performs the following actions:

  • Creates a Bitmap.

  • Sets the color of each pixel in the bitmap to black.

  • Draws the bitmap.

private void SetPixel_Example(PaintEventArgs e)

    // Create a Bitmap object from a file.
    Bitmap myBitmap = new Bitmap("Grapes.jpg");

    // Draw myBitmap to the screen.
    e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width,

    // Set each pixel in myBitmap to black.
    for (int Xcount = 0; Xcount < myBitmap.Width; Xcount++)
        for (int Ycount = 0; Ycount < myBitmap.Height; Ycount++)
            myBitmap.SetPixel(Xcount, Ycount, Color.Black);

    // Draw myBitmap to the screen again.
    e.Graphics.DrawImage(myBitmap, myBitmap.Width, 0,
        myBitmap.Width, myBitmap.Height);

.NET Framework
Available since 1.1
Return to top