Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe BitmapPalette

Definisce la tavolozza dei colori disponibili per un tipo supportato immagine.

Spazio dei nomi:  System.Windows.Media.Imaging
Assembly:  PresentationCore (in PresentationCore.dll)

public sealed class BitmapPalette : DispatcherObject

Il tipo BitmapPalette espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoBitmapPalette(IList<Color>)Inizializza una nuova istanza di BitmapPalette classe con colori specificati.
Metodo pubblicoBitmapPalette(BitmapSource, Int32)Inizializza una nuova istanza di BitmapPalette classe basata su specificato BitmapSource. il nuovo BitmapPalette è limitato a un conteggio massimo specificato di colore.
In alto

  NomeDescrizione
Proprietà pubblicaColorsOttenere i colori definite in una tavolozza.
Proprietà pubblicaDispatcher ottiene l'oggetto Dispatcher al quale l'oggetto DispatcherObject è associato. (Ereditato da DispatcherObject)
In alto

  NomeDescrizione
Metodo pubblicoCheckAccessdetermina se il thread chiamante ha accesso a questo DispatcherObject. (Ereditato da DispatcherObject)
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblicoVerifyAccess Impone che il thread chiamante abbia accesso a questo DispatcherObject. (Ereditato da DispatcherObject)
In alto

Solo Tagged Image File Format (TIFF) e Graphics Interchange Format (GIF) caselle immagine sul supporto di formati di immagine. Tuttavia, gli altri tipi di immagini possono essere utilizzati per definire un oggetto BitmapPalette. Il tentativo di definire un oggetto BitmapPalette per un non supportato bitmap il formato non genera un'eccezione; definito BitmapPalette viene ignorato semplicemente.

Windows Presentation Foundation (WPF) supporta sia le tavolozze dei colori personalizzati che le tavolozze predefinite definite da BitmapPalettes classe.

Nell'esempio seguente viene illustrato come definire un oggetto personalizzato BitmapPalette un oggetto e applicarlo a un nuovo 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);



Nell'esempio seguente viene illustrato come recuperare un oggetto BitmapPalette da un'immagine.


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




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


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro pubblico static (Shared in Visual Basic) di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft