BitmapPalette Clase

Definición

Define la paleta de colores disponible para un tipo de imagen compatible.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
Herencia
BitmapPalette

Ejemplos

En el ejemplo siguiente se muestra cómo definir un BitmapPalette personalizado y aplicarlo a un BitmapSourcenuevo.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)

En el ejemplo siguiente se muestra cómo recuperar BitmapPalette un a partir de una imagen.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)

Comentarios

Solo Tagged Image File Format (TIFF)Tagged Image File Format (TIFF) los Formato de intercambio de gráficos (GIF)Graphics Interchange Format (GIF) formatos de imagen y admiten las paletas de imágenes.Only Tagged Image File Format (TIFF)Tagged Image File Format (TIFF) and Formato de intercambio de gráficos (GIF)Graphics Interchange Format (GIF) image formats support image palettes. Sin embargo, se pueden usar otros tipos de imagen para BitmapPalettedefinir un.However, other image types can be used to define a BitmapPalette. Intentar definir un BitmapPalette para un formato de mapa de bits no compatible no produce una excepción; el designado BitmapPalette se omite simplemente.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)admite las paletas de colores personalizadas y las predefinidas que define BitmapPalettes la clase.supports both custom color palettes and predefined palettes defined by the BitmapPalettes class.

Constructores

BitmapPalette(BitmapSource, Int32)

Inicializa una nueva instancia de la clase BitmapPalette basada en el BitmapSource especificado.Initializes a new instance of the BitmapPalette class based on the specified BitmapSource. La nueva BitmapPalette está limitada a un número máximo especificado de colores.The new BitmapPalette is limited to a specified maximum color count.

BitmapPalette(IList<Color>)

Inicializa una nueva instancia de la clase BitmapPalette con los colores especificados.Initializes a new instance of the BitmapPalette class with the specified colors.

Propiedades

Colors

Obtenga los colores definidos en una paleta.Get the colors defined in a palette.

Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Heredado de DispatcherObject)

Métodos

CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)

Se aplica a

Consulte también: