BitmapEncoder.Palette BitmapEncoder.Palette BitmapEncoder.Palette BitmapEncoder.Palette Property

定義

エンコードされたビットマップの BitmapPalette を表す値を取得または設定します。Gets or sets a value that represents the BitmapPalette of an encoded bitmap.

public:
 virtual property System::Windows::Media::Imaging::BitmapPalette ^ Palette { System::Windows::Media::Imaging::BitmapPalette ^ get(); void set(System::Windows::Media::Imaging::BitmapPalette ^ value); };
public virtual System.Windows.Media.Imaging.BitmapPalette Palette { get; set; }
member this.Palette : System.Windows.Media.Imaging.BitmapPalette with get, set
Public Overridable Property Palette As BitmapPalette

プロパティ値

例外

エンコーダーに渡される BitmapPalette 値が null です。The BitmapPalette value that is passed to the encoder is null.

次の例では、 Tagged Image File Format (TIFF)Tagged Image File Format (TIFF)イメージにカスタムパレットを適用し、後でエンコードする方法を示します。The following example demonstrates how to apply a custom palette to a Tagged Image File Format (TIFF)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);

Dim width As Integer = 128
Dim height As Integer = width
Dim stride As Integer = CType(width / 8, Integer)
Dim pixels(height * stride) As Byte

' Try creating a new image with a custom palette.
Dim colors As New List(Of 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)
Dim myPalette As New BitmapPalette(colors)

' Creates a new empty image with the pre-defined palette
Dim image As BitmapSource = System.Windows.Media.Imaging.BitmapSource.Create(width, height, 96, 96, PixelFormats.Indexed1, myPalette, pixels, stride)
Dim stream As New FileStream("empty.tif", FileMode.Create)
Dim encoder As New TiffBitmapEncoder()
Dim myTextBlock As 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)

注釈

Tagged Image File Format (TIFF)Tagged Image File Format (TIFF)グラフィックス インターチェンジ形式 (GIF)Graphics Interchange Format (GIF)イメージのみ (および一部の古い非標準ビットマップ (BMP)bitmap (BMP)イメージ) では、パレットがサポートされています。Only Tagged Image File Format (TIFF)Tagged Image File Format (TIFF) and グラフィックス インターチェンジ形式 (GIF)Graphics Interchange Format (GIF) images (and some older, non-standard ビットマップ (BMP)bitmap (BMP) images) support palettes.

適用対象

こちらもご覧ください