BmpBitmapDecoder Class
Defines a decoder for bitmap (BMP) encoded images.
System.Windows.Threading.DispatcherObject
System.Windows.Media.Imaging.BitmapDecoder
System.Windows.Media.Imaging.BmpBitmapDecoder
Namespace: System.Windows.Media.Imaging
Assembly: PresentationCore (in PresentationCore.dll)
The BmpBitmapDecoder type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | BmpBitmapDecoder(Stream, BitmapCreateOptions, BitmapCacheOption) | Initializes a new instance of BmpBitmapDecoder from the specified file stream with the specified createOptions and cacheOption. |
![]() | BmpBitmapDecoder(Uri, BitmapCreateOptions, BitmapCacheOption) | Initializes a new instance of BmpBitmapDecoder from the specified Uri with the specified createOptions and cacheOption. |
| Name | Description | |
|---|---|---|
![]() | CodecInfo | Gets information that describes this codec. (Inherited from BitmapDecoder.) |
![]() | ColorContexts | Gets a value that represents the color profile associated with a bitmap, if one is defined. (Inherited from BitmapDecoder.) |
![]() | Dispatcher | Gets the Dispatcher this DispatcherObject is associated with. (Inherited from DispatcherObject.) |
![]() | Frames | Gets the content of an individual frame within a bitmap. (Inherited from BitmapDecoder.) |
![]() | IsDownloading | Gets a value that indicates if the decoder is currently downloading content. (Inherited from BitmapDecoder.) |
![]() | Metadata | Gets an instance of BitmapMetadata that represents the global metadata associated with this bitmap, if metadata is defined. (Inherited from BitmapDecoder.) |
![]() | Palette | Gets the BitmapPalette associated with this decoder. (Inherited from BitmapDecoder.) |
![]() | Preview | Gets a BitmapSource that represents the global preview of this bitmap, if one is defined. (Inherited from BitmapDecoder.) |
![]() | Thumbnail | Gets a BitmapSource that represents the thumbnail of the bitmap, if one is defined. (Inherited from BitmapDecoder.) |
| Name | Description | |
|---|---|---|
![]() | CheckAccess | Determines whether the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject.) |
![]() | CreateInPlaceBitmapMetadataWriter | Creates an instance of InPlaceBitmapMetadataWriter, which can be used to update the metadata of a bitmap. (Inherited from BitmapDecoder.) |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | ToString | Converts the current value of a BitmapDecoder to a String. (Inherited from BitmapDecoder.) |
![]() | VerifyAccess | Enforces that the calling thread has access to this DispatcherObject. (Inherited from DispatcherObject.) |
| Name | Description | |
|---|---|---|
![]() | DownloadCompleted | Occurs when a BitmapDecoder has finished downloading bitmap content. (Inherited from BitmapDecoder.) |
![]() | DownloadFailed | Occurs when bitmap content failed to download. (Inherited from BitmapDecoder.) |
![]() | DownloadProgress | Occurs when a BitmapDecoder has made progress downloading bitmap content. (Inherited from BitmapDecoder.) |
The following examples show how to decode and encode a bitmap (BMP) image using the specific BmpBitmapDecoder and BmpBitmapEncoder objects.
This example demonstrates how to decode a BMP image using a BmpBitmapDecoder from a Uri.
// Open a Uri and decode a BMP image Uri myUri = new Uri("tulipfarm.bmp", UriKind.RelativeOrAbsolute); BmpBitmapDecoder decoder2 = new BmpBitmapDecoder(myUri, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default); BitmapSource bitmapSource2 = decoder2.Frames[0]; // Draw the Image Image myImage2 = new Image(); myImage2.Source = bitmapSource2; myImage2.Stretch = Stretch.None; myImage2.Margin = new Thickness(20);
This example demonstrates how to encode a BitmapSource into a BMP image using a BmpBitmapEncoder.
int width = 128;
int height = width;
int stride = width / 8;
byte[] pixels = new byte[height * stride];
// Try creating a new image with a custom palette.
List<System.Windows.Media.Color> colors = new List<System.Windows.Media.Color>();
colors.Add(System.Windows.Media.Colors.Red);
colors.Add(System.Windows.Media.Colors.Blue);
colors.Add(System.Windows.Media.Colors.Green);
BitmapPalette myPalette = new BitmapPalette(colors);
// Creates a new empty image with the pre-defined palette
BitmapSource image = BitmapSource.Create(
width,
height,
96,
96,
PixelFormats.Indexed1,
myPalette,
pixels,
stride);
FileStream stream = new FileStream("new.bmp", FileMode.Create);
BmpBitmapEncoder encoder = new BmpBitmapEncoder();
TextBlock myTextBlock = new TextBlock();
myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString();
encoder.Frames.Add(BitmapFrame.Create(image));
encoder.Save(stream);
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.


