10 out of 17 rated this helpful - Rate this topic

Bitmap Class

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.Object
  System.MarshalByRefObject
    System.Drawing.Image
      System.Drawing.Bitmap

Namespace:  System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class Bitmap : Image

The Bitmap type exposes the following members.

  Name Description
Public method Bitmap(Image) Initializes a new instance of the Bitmap class from the specified existing image.
Public method Bitmap(Stream) Initializes a new instance of the Bitmap class from the specified data stream.
Public method Bitmap(String) Initializes a new instance of the Bitmap class from the specified file.
Public method Bitmap(Image, Size) Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.
Public method Bitmap(Int32, Int32) Initializes a new instance of the Bitmap class with the specified size.
Public method Bitmap(Stream, Boolean) Initializes a new instance of the Bitmap class from the specified data stream.
Public method Bitmap(String, Boolean) Initializes a new instance of the Bitmap class from the specified file.
Public method Bitmap(Type, String) Initializes a new instance of the Bitmap class from a specified resource.
Public method Bitmap(Image, Int32, Int32) Initializes a new instance of the Bitmap class from the specified existing image, scaled to the specified size.
Public method 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.
Public method Bitmap(Int32, Int32, PixelFormat) Initializes a new instance of the Bitmap class with the specified size and format.
Public method Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr) Initializes a new instance of the Bitmap class with the specified size, pixel format, and pixel data.
Top
  Name Description
Public property Flags Gets attribute flags for the pixel data of this Image. (Inherited from Image.)
Public property FrameDimensionsList Gets an array of GUIDs that represent the dimensions of frames within this Image. (Inherited from Image.)
Public property Height Gets the height, in pixels, of this Image. (Inherited from Image.)
Public property HorizontalResolution Gets the horizontal resolution, in pixels per inch, of this Image. (Inherited from Image.)
Public property Palette Gets or sets the color palette used for this Image. (Inherited from Image.)
Public property PhysicalDimension Gets the width and height of this image. (Inherited from Image.)
Public property PixelFormat Gets the pixel format for this Image. (Inherited from Image.)
Public property PropertyIdList Gets IDs of the property items stored in this Image. (Inherited from Image.)
Public property PropertyItems Gets all the property items (pieces of metadata) stored in this Image. (Inherited from Image.)
Public property RawFormat Gets the file format of this Image. (Inherited from Image.)
Public property Size Gets the width and height, in pixels, of this image. (Inherited from Image.)
Public property Tag Gets or sets an object that provides additional data about the image. (Inherited from Image.)
Public property VerticalResolution Gets the vertical resolution, in pixels per inch, of this Image. (Inherited from Image.)
Public property Width Gets the width, in pixels, of this Image. (Inherited from Image.)
Top
  Name Description
Public method Clone() Creates an exact copy of this Image. (Inherited from Image.)
Public method Clone(Rectangle, PixelFormat) Creates a copy of the section of this Bitmap defined by Rectangle structure and with a specified PixelFormat enumeration.
Public method Clone(RectangleF, PixelFormat) Creates a copy of the section of this Bitmap defined with a specified PixelFormat enumeration.
Public method CreateObjRef Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public method Dispose() Releases all resources used by this Image. (Inherited from Image.)
Protected method Dispose(Boolean) Releases the unmanaged resources used by the Image and optionally releases the managed resources. (Inherited from Image.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Image.)
Public method Static member FromHicon Creates a Bitmap from a Windows handle to an icon.
Public method Static member FromResource Creates a Bitmap from the specified Windows resource.
Public method GetBounds Gets the bounds of the image in the specified unit. (Inherited from Image.)
Public method GetEncoderParameterList Returns information about the parameters supported by the specified image encoder. (Inherited from Image.)
Public method GetFrameCount Returns the number of frames of the specified dimension. (Inherited from Image.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetHbitmap() Creates a GDI bitmap object from this Bitmap.
Public method GetHbitmap(Color) Creates a GDI bitmap object from this Bitmap.
Public method GetHicon Returns the handle to an icon.
Public method GetLifetimeService Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public method GetPixel Gets the color of the specified pixel in this Bitmap.
Public method GetPropertyItem Gets the specified property item from this Image. (Inherited from Image.)
Public method GetThumbnailImage Returns a thumbnail for this Image. (Inherited from Image.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method InitializeLifetimeService Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public method LockBits(Rectangle, ImageLockMode, PixelFormat) Locks a Bitmap into system memory.
Public method LockBits(Rectangle, ImageLockMode, PixelFormat, BitmapData) Locks a Bitmap into system memory
Public method MakeTransparent() Makes the default transparent color transparent for this Bitmap.
Public method MakeTransparent(Color) Makes the specified color transparent for this Bitmap.
Protected method MemberwiseClone() Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method MemberwiseClone(Boolean) Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Public method RemovePropertyItem Removes the specified property item from this Image. (Inherited from Image.)
Public method RotateFlip Rotates, flips, or rotates and flips the Image. (Inherited from Image.)
Public method Save(String) Saves this Image to the specified file or stream. (Inherited from Image.)
Public method Save(Stream, ImageFormat) Saves this image to the specified stream in the specified format. (Inherited from Image.)
Public method Save(String, ImageFormat) Saves this Image to the specified file in the specified format. (Inherited from Image.)
Public method Save(Stream, ImageCodecInfo, EncoderParameters) Saves this image to the specified stream, with the specified encoder and image encoder parameters. (Inherited from Image.)
Public method Save(String, ImageCodecInfo, EncoderParameters) Saves this Image to the specified file, with the specified encoder and image-encoder parameters. (Inherited from Image.)
Public method 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.)
Public method SaveAdd(Image, EncoderParameters) Adds a frame to the file or stream specified in a previous call to the Save method. (Inherited from Image.)
Public method SelectActiveFrame Selects the frame specified by the dimension and index. (Inherited from Image.)
Public method SetPixel Sets the color of the specified pixel in this Bitmap.
Public method SetPropertyItem Stores a property item (piece of metadata) in this Image. (Inherited from Image.)
Public method SetResolution Sets the resolution for this Bitmap.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method UnlockBits Unlocks this Bitmap from system memory.
Top
  Name Description
Explicit interface implemetation Private method ISerializable.GetObjectData Populates a SerializationInfo with the data needed to serialize the target object. (Inherited from Image.)
Top

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 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".

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.


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.");
    }
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
error in program , plz suply an image
c++ program error $0 $0"An unhandled exception of type 'System.InvalidOperationException' occurred in System.Drawing.dll$0 $0$0 $0 $0Additional information: SetPixel is not supported for images with indexed pixel formats."$0 $0 $0$0 $0 $0plz supply a pick dat can be downloaded 4 use with this program$0 $0thanku,$0 $0i tried different bmp images bt all f dem gave different errors$0