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.
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Bitmap : System.Drawing.Image
- Inheritance
- Attributes
Inherited Members
System.Drawing.Image
System.MarshalByRefObject
System.Object
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
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(Stream) |
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(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(Stream, Boolean) |
Initializes a new instance of the Bitmap class from the specified data stream. |
| 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. |
| Bitmap(Image, Int32, Int32) |
Initializes a new instance of the Bitmap class from the specified existing image, scaled to 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, PixelFormat) |
Initializes a new instance of the Bitmap class with the specified size and format. |
| Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) |
Initializes a new instance of the Bitmap class with the specified size, pixel format, and pixel data. |
Methods
| Clone(RectangleF, PixelFormat) |
Creates a copy of the section of this Bitmap defined with a specified PixelFormat enumeration. |
| Clone(Rectangle, PixelFormat) |
Creates a copy of the section of this Bitmap defined by Rectangle structure and with a specified PixelFormat enumeration. |
| FromHicon(IntPtr) |
Creates a Bitmap from a Windows handle to an icon. |
| FromResource(IntPtr, String) |
Creates a Bitmap from the specified Windows resource. |
| 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. |
| GetPixel(Int32, Int32) |
Gets the color of the specified pixel in this Bitmap. |
| 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. |
| SetPixel(Int32, Int32, Color) |
Sets the color of the specified pixel in this Bitmap. |
| SetResolution(Single, Single) |
Sets the resolution for this Bitmap. |
| UnlockBits(BitmapData) |
Unlocks this Bitmap from system memory. |