BitmapPalette BitmapPalette BitmapPalette BitmapPalette Class

Определение

Определяет доступную цветовую палитру для поддерживаемого типа изображений.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
Наследование

Примеры

Следующий пример демонстрирует определение настраиваемого BitmapPalette и применить его к новому 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)

Следующий пример демонстрирует способы извлечения BitmapPalette из образа.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)

Комментарии

Только Формат TIFF (Tagged Image File Format)Tagged Image File Format (TIFF) и Формат GIF (Graphics Interchange Format)Graphics Interchange Format (GIF) форматы изображения поддерживают палитры изображения.Only Формат TIFF (Tagged Image File Format)Tagged Image File Format (TIFF) and Формат GIF (Graphics Interchange Format)Graphics Interchange Format (GIF) image formats support image palettes. Тем не менее, другие типы изображений можно использовать для определения BitmapPalette.However, other image types can be used to define a BitmapPalette. Попытка определить BitmapPalette для неподдерживаемый формат точечного рисунка не приводит к появлению исключения; назначено BitmapPalette просто игнорируется.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) поддерживает пользовательские цветовые палитры и предварительно определенных палитр, определяется BitmapPalettes класса.supports both custom color palettes and predefined palettes defined by the BitmapPalettes class.

Конструкторы

BitmapPalette(BitmapSource, Int32) BitmapPalette(BitmapSource, Int32) BitmapPalette(BitmapSource, Int32) BitmapPalette(BitmapSource, Int32)

Инициализирует новый экземпляр класса BitmapPalette на основе указанного объекта BitmapSource.Initializes a new instance of the BitmapPalette class based on the specified BitmapSource. Новый объект BitmapPalette ограничен указанным максимальным количеством цветов.The new BitmapPalette is limited to a specified maximum color count.

BitmapPalette(IList<Color>) BitmapPalette(IList<Color>) BitmapPalette(IList<Color>) BitmapPalette(IList<Color>)

Инициализирует новый экземпляр класса BitmapPalette класс указанными цветами.Initializes a new instance of the BitmapPalette class with the specified colors.

Свойства

Colors Colors Colors Colors

Получает цвета, определенные в палитре.Get the colors defined in a palette.

Dispatcher Dispatcher Dispatcher Dispatcher

Получает Dispatcher это DispatcherObject связан.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)

Методы

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

Обеспечивает, что вызывающий поток имеет доступ к этому DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Применяется к

Дополнительно