Bitmap.SetPixel(Int32, Int32, Color) Metoda

Definicja

Ustawia kolor określonego piksela w tym elemencie Bitmap .Sets the color of the specified pixel in this Bitmap.

public:
 void SetPixel(int x, int y, System::Drawing::Color color);
public void SetPixel (int x, int y, System.Drawing.Color color);
member this.SetPixel : int * int * System.Drawing.Color -> unit
Public Sub SetPixel (x As Integer, y As Integer, color As Color)

Parametry

x
Int32

Współrzędna x pikseli do ustawienia.The x-coordinate of the pixel to set.

y
Int32

Współrzędna y dla piksela do ustawienia.The y-coordinate of the pixel to set.

color
Color

ColorStruktura, która reprezentuje kolor, który ma zostać przypisany do określonego piksela.A Color structure that represents the color to assign to the specified pixel.

Wyjątki

Operacja nie powiodła się.The operation failed.

Przykłady

Poniższy przykład kodu jest przeznaczony do użytku z Windows Forms i wymaga PaintEventArgs e , który jest parametrem Paint programu obsługi zdarzeń.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Kod wykonuje następujące czynności:The code performs the following actions:

  • Tworzy Bitmap .Creates a Bitmap.

  • Ustawia kolor każdego piksela w mapie bitowej na czerń.Sets the color of each pixel in the bitmap to black.

  • Rysuje mapę bitową.Draws the bitmap.

private:
   void SetPixel_Example( PaintEventArgs^ e )
   {
      // Create a Bitmap object from a file.
      Bitmap^ myBitmap = gcnew Bitmap( "Grapes.jpg" );

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

      // 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 );
   }
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,
        myBitmap.Height);

    // 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);
}
Private Sub SetPixel_Example(ByVal e As PaintEventArgs)

    ' Create a Bitmap object from a file.
    Dim myBitmap As New Bitmap("Grapes.jpg")

    ' Draw myBitmap to the screen.
    e.Graphics.DrawImage(myBitmap, 0, 0, myBitmap.Width, _
    myBitmap.Height)

    ' Set each pixel in myBitmap to black.
    Dim Xcount As Integer
    For Xcount = 0 To myBitmap.Width - 1
        Dim Ycount As Integer
        For Ycount = 0 To myBitmap.Height - 1
            myBitmap.SetPixel(Xcount, Ycount, Color.Black)
        Next Ycount
    Next Xcount

    ' Draw myBitmap to the screen again.
    e.Graphics.DrawImage(myBitmap, myBitmap.Width, 0, myBitmap.Width, _
        myBitmap.Height)
End Sub

Uwagi

Użyj SetPixel metody, aby programowo ustawić kolor pojedynczego piksela w obrazie.Use SetPixel method to set the color of an individual pixel in an image programmatically. Możesz również programowo zmienić obraz przy użyciu LockBits metody.You can also change an image programmatically by using the LockBits method. Zwykle w przypadku zmian w dużej skali LockBits Metoda zapewnia lepszą wydajność.Typically for large-scale changes, the LockBits method offers better performance.

Dotyczy