BitmapPalette Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Definuje dostupnou paletu barev pro podporovaný typ obrázku.
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
- Dědičnost
Příklady
Následující příklad ukazuje, jak definovat vlastní BitmapPalette a použít ho na nový 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)
Následující příklad ukazuje, jak načíst BitmapPalette z obrázku.
// 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)
Poznámky
Formáty obrázků ve formátu GIF (Tagged Image File Format) a Graphics Interchange Format (GIF) podporují palety obrázků. Jiné typy imagí lze však použít k definování BitmapPalette. Při pokusu o definování BitmapPalette nepodporovaného formátu rastrového obrázku nedojde k výjimce. Označení BitmapPalette je jednoduše ignorováno.
Windows Presentation Foundation (WPF) podporuje vlastní palety barev i předdefinované palety definované BitmapPalettes třídou.
Konstruktory
BitmapPalette(BitmapSource, Int32) |
Inicializuje novou instanci BitmapPalette třídy na základě zadané BitmapSource. Novinka BitmapPalette je omezena na zadaný maximální počet barev. |
BitmapPalette(IList<Color>) |
Inicializuje novou instanci BitmapPalette třídy se zadanými barvami. |
Vlastnosti
Colors |
Získejte barvy definované v paletě. |
Dispatcher |
Získá to DispatcherObject je přidruženoDispatcher. (Zděděno od DispatcherObject) |
Metody
CheckAccess() |
Určuje, zda má volající vlákno přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
VerifyAccess() |
Vynucuje, aby volající vlákno má k tomuto DispatcherObjectpřístupu přístup . (Zděděno od DispatcherObject) |