Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe BitmapPalette

 

Data di pubblicazione: ottobre 2016

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

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

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

public sealed class BitmapPalette : DispatcherObject

NomeDescrizione
System_CAPS_pubmethodBitmapPalette(BitmapSource, Int32)

Inizializza una nuova istanza della classe BitmapPalette in base all'oggetto BitmapSource specificato. La nuova BitmapPalette è limitata a un numero massimo di colori specificato.

System_CAPS_pubmethodBitmapPalette(IList<Color>)

Inizializza una nuova istanza di BitmapPalette classe con i colori specificati.

NomeDescrizione
System_CAPS_pubpropertyColors

Ottenere definiti in una tavolozza di colori.

System_CAPS_pubpropertyDispatcher

Ottiene il Dispatcher questo DispatcherObject è associato.(Ereditato da DispatcherObject.)

NomeDescrizione
System_CAPS_pubmethodCheckAccess()

Determina se il thread chiamante ha accesso a questo DispatcherObject.(Ereditato da DispatcherObject.)

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

System_CAPS_pubmethodVerifyAccess()

Impone che il thread chiamante abbia accesso a questo DispatcherObject.(Ereditato da DispatcherObject.)

Solo Tagged Image File Format (TIFF) e Graphics Interchange Format (GIF) formati immagine supportano le tavolozze di immagini. Tuttavia, altri tipi di immagine possono essere utilizzati per definire un BitmapPalette. Tentativo di definire un BitmapPalette per un formato bitmap non supportato non comporta un'eccezione; designata BitmapPalette viene semplicemente ignorato.

Windows Presentation Foundation (WPF) supporta sia le tavolozze di colori personalizzati e le tavolozze predefinite definite per la BitmapPalettes classe.

Nell'esempio seguente viene illustrato come definire una classe personalizzata BitmapPalette e applicarla 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 BitmapPalette da un'immagine.


// 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
Disponibile da 3.0

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: