BitmapPalette Class

Definition

Define a paleta de cores disponíveis para um tipo de imagem com suporte.Defines the available color palette for a supported image type.

public ref class BitmapPalette sealed : System::Windows::Threading::DispatcherObject
public sealed class BitmapPalette : System.Windows.Threading.DispatcherObject
type BitmapPalette = class
    inherit DispatcherObject
Public NotInheritable Class BitmapPalette
Inherits DispatcherObject
Inheritance
BitmapPalette

Examples

O exemplo a seguir demonstra como definir um BitmapPalette personalizado e aplicá-lo a um novo BitmapSource.The following example demonstrates how to define a custom BitmapPalette and apply it to a new 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);

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)

O exemplo a seguir demonstra como recuperar um BitmapPalette de uma imagem.The following example demonstrates how to retrieve a BitmapPalette from an image.


// 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);
' Get the palette from an image
Dim image2 As New BitmapImage()
image2.BeginInit()
image2.UriSource = New Uri("tulipfarm.tif", UriKind.RelativeOrAbsolute)
image2.EndInit()
Dim myPalette3 As New BitmapPalette(image2, 256)

'Draw the third Image
Dim myImage2 As New Image()
myImage2.Source = image2
myImage2.Stretch = Stretch.None
myImage2.Margin = New Thickness(20)

Remarks

Somente os formatos de imagem TIFF (formato TIFF)Tagged Image File Format (TIFF) e GIF (Graphics Interchange Format)Graphics Interchange Format (GIF) dão suporte a paletas de imagem.Only TIFF (formato TIFF)Tagged Image File Format (TIFF) and GIF (Graphics Interchange Format)Graphics Interchange Format (GIF) image formats support image palettes. No entanto, outros tipos de imagem podem ser usados para definir um BitmapPalette.However, other image types can be used to define a BitmapPalette. A tentativa de definir uma BitmapPalette para um formato de bitmap sem suporte não resulta em uma exceção; o BitmapPalette designado é simplesmente ignorado.Attempting to define a BitmapPalette for an unsupported bitmap format does not result in an exception; the designated BitmapPalette is simply ignored.

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) dá suporte a paletas de cores personalizadas e a paletas predefinidas definidas pela classe BitmapPalettes.supports both custom color palettes and predefined palettes defined by the BitmapPalettes class.

Constructors

BitmapPalette(BitmapSource, Int32)

Inicializa uma nova instância da classe BitmapPalette com base no BitmapSource especificado.Initializes a new instance of the BitmapPalette class based on the specified BitmapSource. O novo BitmapPalette é limitado a uma contagem máxima de cores especificada.The new BitmapPalette is limited to a specified maximum color count.

BitmapPalette(IList<Color>)

Inicializa uma nova instância da classe BitmapPalette com as cores especificadas.Initializes a new instance of the BitmapPalette class with the specified colors.

Properties

Colors

Obtenha as cores definidas em uma paleta.Get the colors defined in a palette.

Dispatcher

Obtém o Dispatcher ao qual este DispatcherObject está associado.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)

Methods

CheckAccess()

Determina se o thread de chamada tem acesso a este DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Inherited from Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess()

Impõe que o thread de chamada tenha acesso a este DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Applies to

See also