Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês
Esta documentação foi arquivada e não está sendo atualizada.

Classe BitmapPalette

Define a paleta de cores disponíveis para um tipo de imagem com suporte.

Namespace:  System.Windows.Media.Imaging
Assembly:  PresentationCore (em PresentationCore. dll)

public sealed class BitmapPalette : DispatcherObject
Você não pode criar diretamente uma instância dessa classe em XAML.

Somente Tagged Image File Format (TIFF) e formatos de imagem Graphics Interchange Format (GIF) suportam paletas de imagem.No entanto, outros tipos de imagem podem ser usados para definir um BitmapPalette.Tentativa de definir um BitmapPalette para um Formatarar de sem suporte bitmap não resulta em uma exceção; o designado BitmapPalette simplesmente será ignorada.

Windows Presentation Foundation (WPF) oferece suporte a paletas de cores Personalizar e paletas predefinidas definidas pela classe BitmapPalettes.

O exemplo a seguir demonstra como definir um Personalizar BitmapPalette e Aplicar-lo para um novo BitmapSource.

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);



O exemplo a seguir demonstra como recuperar um BitmapPalette de uma imagem.

// Get the palette from an image
BitmapImage image2 = new BitmapImage();
image2.BeginInit();
image2.UriSource = new Uri("tulipfarm.tif", UriKind.RelativeOrAbsolute);
image2.EndInit();
BitmapPalette myPalette3 = new BitmapPalette(image2, 256);

//Draw the third Image
Image myImage2 = new Image();
myImage2.Source = image2;
myImage2.Stretch = Stretch.None;
myImage2.Margin = new Thickness(20);


Mais código

Como: Converter uma FonteBitmap para um Formato Pixel Indexado Este exemplo mostra como converter um BitmapSource para um formato pixel indexado.

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.Media.Imaging.BitmapPalette

Quaisquer membros público estático (compartilhado no Visual Basic) deste tipo são processos seguros. Quaisquer membros de instância não são garantidos como processos seguros.

Windows Vista, Windows XP SP2, Windows Server 2003

O .NET Framework e .NET Compact Framework não suporte para todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0
Mostrar: