Bitmap Class

Definition

Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes. A Bitmap is an object used to work with images defined by pixel data.

public ref class Bitmap sealed : System::Drawing::Image
public sealed class Bitmap : System.Drawing.Image
[System.Serializable]
public sealed class Bitmap : System.Drawing.Image
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Bitmap : System.Drawing.Image
type Bitmap = class
    inherit Image
[<System.Serializable>]
type Bitmap = class
    inherit Image
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Bitmap = class
    inherit Image
Public NotInheritable Class Bitmap
Inherits Image
Inheritance
Attributes

Examples

The following code example demonstrates how to construct a new Bitmap from a file, using the GetPixel and SetPixel methods to recolor the image. It also uses the PixelFormat, Width, and Height properties.

This example is designed to be used with a Windows Forms that contains a Label, PictureBox, and Button named Label1, PictureBox1, and Button1, respectively. Paste the code into the form and associate the Button1_Click method with the button's Click event.

private:
   Bitmap^ image1;
   void Button1_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      try
      {
         
         // Retrieve the image.
         image1 = gcnew Bitmap( "C:\\Documents and Settings\\All Users\\"
         "Documents\\My Music\\music.bmp",true );
         int x;
         int y;
         
         // Loop through the images pixels to reset color.
         for ( x = 0; x < image1->Width; x++ )
         {
            for ( y = 0; y < image1->Height; y++ )
            {
               Color pixelColor = image1->GetPixel( x, y );
               Color newColor = Color::FromArgb( pixelColor.R, 0, 0 );
               image1->SetPixel( x, y, newColor );

            }

         }
         
         // Set the PictureBox to display the image.
         PictureBox1->Image = image1;
         
         // Display the pixel format in Label1.
         Label1->Text = String::Format( "Pixel format: {0}", image1->PixelFormat );
      }
      catch ( ArgumentException^ ) 
      {
         MessageBox::Show( "There was an error."
         "Check the path to the image file." );
      }

   }
Bitmap image1;

private void Button1_Click(System.Object sender, System.EventArgs e)
{

    try
    {
        // Retrieve the image.
        image1 = new Bitmap(@"C:\Documents and Settings\All Users\" 
            + @"Documents\My Music\music.bmp", true);

        int x, y;

        // Loop through the images pixels to reset color.
        for(x=0; x<image1.Width; x++)
        {
            for(y=0; y<image1.Height; y++)
            {
                Color pixelColor = image1.GetPixel(x, y);
                Color newColor = Color.FromArgb(pixelColor.R, 0, 0);
                image1.SetPixel(x, y, newColor);
            }
        }

        // Set the PictureBox to display the image.
        PictureBox1.Image = image1;

        // Display the pixel format in Label1.
        Label1.Text = "Pixel format: "+image1.PixelFormat.ToString();
    }
    catch(ArgumentException)
    {
        MessageBox.Show("There was an error." +
            "Check the path to the image file.");
    }
}
Dim image1 As Bitmap

Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click

    Try
        ' Retrieve the image.
        image1 = New Bitmap( _
            "C:\Documents and Settings\All Users\Documents\My Music\music.bmp", _
            True)

        Dim x, y As Integer

        ' Loop through the images pixels to reset color.
        For x = 0 To image1.Width - 1
            For y = 0 To image1.Height - 1
                Dim pixelColor As Color = image1.GetPixel(x, y)
                Dim newColor As Color = _
                    Color.FromArgb(pixelColor.R, 0, 0)
                image1.SetPixel(x, y, newColor)
            Next
        Next

        ' Set the PictureBox to display the image.
        PictureBox1.Image = image1

        ' Display the pixel format in Label1.
        Label1.Text = "Pixel format: " + image1.PixelFormat.ToString()

    Catch ex As ArgumentException
        MessageBox.Show("There was an error." _
            & "Check the path to the image file.")
    End Try
End Sub

Remarks

A bitmap consists of the pixel data for a graphics image and its attributes. There are many standard formats for saving a bitmap to a file. GDI+ supports the following file formats: BMP, GIF, EXIF, JPG, PNG, and TIFF. For more information about supported formats, see Types of Bitmaps.

You can create images from files, streams, and other sources by using one of the Bitmap constructors and save them to a stream or to the file system with the Save method. Images are drawn to the screen or to memory by using the DrawImage method of the Graphics object. For a list of topics about working with image files, see Working with Images, Bitmaps, Icons, and Metafiles.

Note

In .NET 6 and later versions, the System.Drawing.Common package, which includes this type, is only supported on Windows operating systems. Use of this type in cross-platform apps causes compile-time warnings and run-time exceptions. For more information, see System.Drawing.Common only supported on Windows.

Note

The Bitmap class is not accessible across application domains. For example, if you create a dynamic AppDomain and create several brushes, pens, and bitmaps in that domain, then pass these objects back to the main application domain, you can successfully use the pens and brushes. However, if you call the DrawImage method to draw the marshaled Bitmap, you receive the following exception:

Remoting cannot find field "native image" on type "System.Drawing.Image".

Constructors

Bitmap(Image)

Initializes a new instance of the Bitmap class from the specified existing image.

Bitmap(Image, Int32, Int32)

Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

Bitmap(Image, Size)

Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.

Bitmap(Int32, Int32)

Initializes a new instance of the Bitmap class with the specified size.

Bitmap(Int32, Int32, Graphics)

Initializes a new instance of the Bitmap class with the specified size and with the resolution of the specified Graphics object.

Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)

Initializes a new instance of the Bitmap class with the specified size, pixel format, and pixel data.

Bitmap(Int32, Int32, PixelFormat)

Initializes a new instance of the Bitmap class with the specified size and format.

Bitmap(Stream)

Initializes a new instance of the Bitmap class from the specified data stream.

Bitmap(Stream, Boolean)

Initializes a new instance of the Bitmap class from the specified data stream.

Bitmap(String)

Initializes a new instance of the Bitmap class from the specified file.

Bitmap(String, Boolean)

Initializes a new instance of the Bitmap class from the specified file.

Bitmap(Type, String)

Initializes a new instance of the Bitmap class from a specified resource.

Properties

Flags

Gets attribute flags for the pixel data of this Image.

(Inherited from Image)
FrameDimensionsList

Gets an array of GUIDs that represent the dimensions of frames within this Image.

(Inherited from Image)
Height

Gets the height, in pixels, of this Image.

(Inherited from Image)
HorizontalResolution

Gets the horizontal resolution, in pixels per inch, of this Image.

(Inherited from Image)
Palette

Gets or sets the color palette used for this Image.

(Inherited from Image)
PhysicalDimension

Gets the width and height of this image.

(Inherited from Image)
PixelFormat

Gets the pixel format for this Image.

(Inherited from Image)
PropertyIdList

Gets IDs of the property items stored in this Image.

(Inherited from Image)
PropertyItems

Gets all the property items (pieces of metadata) stored in this Image.

(Inherited from Image)
RawFormat

Gets the file format of this Image.

(Inherited from Image)
Size

Gets the width and height, in pixels, of this image.

(Inherited from Image)
Tag

Gets or sets an object that provides additional data about the image.

(Inherited from Image)
VerticalResolution

Gets the vertical resolution, in pixels per inch, of this Image.

(Inherited from Image)
Width

Gets the width, in pixels, of this Image.

(Inherited from Image)

Methods

ApplyEffect(Effect, Rectangle)
Clone()

Creates an exact copy of this Image.

(Inherited from Image)
Clone(Rectangle, PixelFormat)

Creates a copy of the section of this Bitmap defined by Rectangle structure and with a specified PixelFormat enumeration.

Clone(RectangleF, PixelFormat)

Creates a copy of the section of this Bitmap defined with a specified PixelFormat enumeration.

ConvertFormat(PixelFormat)
ConvertFormat(PixelFormat, DitherType, PaletteType, ColorPalette, Single)
CreateObjRef(Type)

Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose()

Releases all resources used by this Image.

(Inherited from Image)
Dispose(Boolean)

Releases the unmanaged resources used by the Image and optionally releases the managed resources.

(Inherited from Image)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
FromHicon(IntPtr)

Creates a Bitmap from a Windows handle to an icon.

FromResource(IntPtr, String)

Creates a Bitmap from the specified Windows resource.

GetBounds(GraphicsUnit)

Gets the bounds of the image in the specified unit.

(Inherited from Image)
GetEncoderParameterList(Guid)

Returns information about the parameters supported by the specified image encoder.

(Inherited from Image)
GetFrameCount(FrameDimension)

Returns the number of frames of the specified dimension.

(Inherited from Image)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetHbitmap()

Creates a GDI bitmap object from this Bitmap.

GetHbitmap(Color)

Creates a GDI bitmap object from this Bitmap.

GetHicon()

Returns the handle to an icon.

GetLifetimeService()
Obsolete.

Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetPixel(Int32, Int32)

Gets the color of the specified pixel in this Bitmap.

GetPropertyItem(Int32)

Gets the specified property item from this Image.

(Inherited from Image)
GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr)

Returns a thumbnail for this Image.

(Inherited from Image)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService()
Obsolete.

Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
LockBits(Rectangle, ImageLockMode, PixelFormat)

Locks a Bitmap into system memory.

LockBits(Rectangle, ImageLockMode, PixelFormat, BitmapData)

Locks a Bitmap into system memory.

MakeTransparent()

Makes the default transparent color transparent for this Bitmap.

MakeTransparent(Color)

Makes the specified color transparent for this Bitmap.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean)

Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
RemovePropertyItem(Int32)

Removes the specified property item from this Image.

(Inherited from Image)
RotateFlip(RotateFlipType)

Rotates, flips, or rotates and flips the Image.

(Inherited from Image)
Save(Stream, ImageCodecInfo, EncoderParameters)

Saves this image to the specified stream, with the specified encoder and image encoder parameters.

(Inherited from Image)
Save(Stream, ImageFormat)

Saves this image to the specified stream in the specified format.

(Inherited from Image)
Save(String)

Saves this Image to the specified file or stream.

(Inherited from Image)
Save(String, ImageCodecInfo, EncoderParameters)

Saves this Image to the specified file, with the specified encoder and image-encoder parameters.

(Inherited from Image)
Save(String, ImageFormat)

Saves this Image to the specified file in the specified format.

(Inherited from Image)
SaveAdd(EncoderParameters)

Adds a frame to the file or stream specified in a previous call to the Save method. Use this method to save selected frames from a multiple-frame image to another multiple-frame image.

(Inherited from Image)
SaveAdd(Image, EncoderParameters)

Adds a frame to the file or stream specified in a previous call to the Save method.

(Inherited from Image)
SelectActiveFrame(FrameDimension, Int32)

Selects the frame specified by the dimension and index.

(Inherited from Image)
SetPixel(Int32, Int32, Color)

Sets the color of the specified pixel in this Bitmap.

SetPropertyItem(PropertyItem)

Stores a property item (piece of metadata) in this Image.

(Inherited from Image)
SetResolution(Single, Single)

Sets the resolution for this Bitmap.

ToString()

Returns a string that represents the current object.

(Inherited from Object)
UnlockBits(BitmapData)

Unlocks this Bitmap from system memory.

Explicit Interface Implementations

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Populates a SerializationInfo with the data needed to serialize the target object.

(Inherited from Image)

Applies to

See also