Export (0) Print
Expand All

BitmapEncoder.Palette Property

Gets or sets a value that represents the BitmapPalette of an encoded bitmap.

Namespace: System.Windows.Media.Imaging
Assembly: PresentationCore (in presentationcore.dll)
XML Namespace:  http://schemas.microsoft.com/winfx/2006/xaml/presentation

public virtual BitmapPalette Palette { get; set; }
/** @property */
public BitmapPalette get_Palette ()

/** @property */
public void set_Palette (BitmapPalette value)

public function get Palette () : BitmapPalette

public function set Palette (value : BitmapPalette)

You cannot use this property in XAML.

Property Value

An instance of BitmapPalette.

Exception typeCondition

ArgumentNullException

The BitmapPalette value that is passed to the encoder is a null reference (Nothing in Visual Basic).

Only Tagged Image File Format (TIFF) and Graphics Interchange Format (GIF) images (and some older, non-standard bitmap (BMP) images) support palettes.

The following example demonstrates how to apply a custom palette to a Tagged Image File Format (TIFF) image and subsequently encode it.

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("empty.tif", FileMode.Create);
TiffBitmapEncoder encoder = new TiffBitmapEncoder();
TextBlock myTextBlock = new TextBlock();
myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString();
encoder.Frames.Add(BitmapFrame.Create(image));
MessageBox.Show(myPalette.Colors.Count.ToString());
encoder.Save(stream);


Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0

Community Additions

ADD
Show:
© 2015 Microsoft