BitmapSource Класс

Определение

Представляет один постоянный набор пикселей с определенным размером и разрешением.

public ref class BitmapSource abstract : System::Windows::Media::ImageSource
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
public abstract class BitmapSource : System.Windows.Media.ImageSource
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type BitmapSource = class
    inherit ImageSource
    interface DUCE.IResource
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type BitmapSource = class
    inherit ImageSource
Public MustInherit Class BitmapSource
Inherits ImageSource
Наследование
Производный
Атрибуты

Примеры

В следующем примере кода показано, как создать BitmapSource и использовать его в качестве источника Image элемента управления.

// Define parameters used to create the BitmapSource.
PixelFormat pf = PixelFormats.Bgr32;
int width = 200;
int height = 200;
int rawStride = (width * pf.BitsPerPixel + 7) / 8;
byte[] rawImage = new byte[rawStride * height];

// Initialize the image with data.
Random value = new Random();
value.NextBytes(rawImage);

// Create a BitmapSource.
BitmapSource bitmap = BitmapSource.Create(width, height,
    96, 96, pf, null,
    rawImage, rawStride);

// Create an image element;
Image myImage = new Image();
myImage.Width = 200;
// Set image source.
myImage.Source = bitmap;
' Define parameters used to create the BitmapSource.
Dim pf As PixelFormat = PixelFormats.Bgr32
Dim width As Integer = 200
Dim height As Integer = 200
Dim rawStride As Integer = CType((width * pf.BitsPerPixel + 7) / 8, Integer)
Dim rawImage(rawStride * height) As Byte

' Initialize the image with data.
Dim value As New Random()
value.NextBytes(rawImage)

' Create a BitmapSource.
Dim bitmap As BitmapSource = BitmapSource.Create(width, height, 96, 96, pf, Nothing, rawImage, rawStride)

' Create an image element;
Dim myImage As New Image()
myImage.Width = 200
' Set image source.
myImage.Source = bitmap

В следующем примере кода используется производный BitmapSource класс, BitmapImageчтобы создать растровое изображение из файла изображения и использовать его в качестве источника Image элемента управления.

// Create the image element.
Image simpleImage = new Image();    
simpleImage.Width = 200;
simpleImage.Margin = new Thickness(5);

// Create source.
BitmapImage bi = new BitmapImage();
// BitmapImage.UriSource must be in a BeginInit/EndInit block.
bi.BeginInit();
bi.UriSource = new Uri(@"/sampleImages/cherries_larger.jpg",UriKind.RelativeOrAbsolute);
bi.EndInit();
// Set the image source.
simpleImage.Source = bi;
' Create the image element.
Dim simpleImage As New Image()
simpleImage.Width = 200
simpleImage.Margin = New Thickness(5)

' Create source.
Dim bi As New BitmapImage()
' BitmapImage.UriSource must be in a BeginInit/EndInit block.
bi.BeginInit()
bi.UriSource = New Uri("/sampleImages/cherries_larger.jpg", UriKind.RelativeOrAbsolute)
bi.EndInit()
' Set the image source.
simpleImage.Source = bi

Комментарии

BitmapSource — это базовый стандартный блок конвейера изображений Windows Presentation Foundation (WPF), концептуально представляющий один постоянный набор пикселей с определенным размером и разрешением. Может BitmapSource быть один кадр в файле изображения, который предоставляет декодатор, или это может быть результатом преобразования, который работает с BitmapSource собственным. BitmapSource не используется для представления многокадрового изображения или анимации.

Windows Presentation Foundation (WPF) изначально поддерживает сжатие и декомпрессию растрового изображения (BMP), формат обмена графикой (GIF), группу экспертов по совместным фотографиям (JPEG), переносимую сетевую графику (PNG) и изображения формата файлов тегов (TIFF).

Для декодирования растровых карт использует автоматическое обнаружение кодека на основе установленных BitmapSource кодеков в системе пользователя.

Максимальная высота и ширина изображения составляет 2^16 пикселей в 32 битах на канал * 4 канала. Максимальный размер BitmapSource изображения составляет 2^32 байта (64 гигабайта), а максимальный размер изображения — четыре гигапикселя. Минимальный размер изображения — 1x1.

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

Имя Описание
BitmapSource()

Инициализирует новый экземпляр класса BitmapSource.

Свойства

Имя Описание
CanFreeze

Возвращает значение, указывающее, можно ли изменить объект.

(Унаследовано от Freezable)
DependencyObjectType

Возвращает объект DependencyObjectType , который упаковывает тип СРЕДЫ CLR этого экземпляра.

(Унаследовано от DependencyObject)
Dispatcher

Dispatcher Возвращает это DispatcherObject значение, с которым связано.

(Унаследовано от DispatcherObject)
DpiX

Получает горизонтальные точки на дюйм (dpi) изображения.

DpiY

Получает вертикальные точки на дюйм (dpi) изображения.

Format

Возвращает собственный PixelFormat код данных растрового изображения.

HasAnimatedProperties

Возвращает значение, указывающее, связан ли один или несколько AnimationClock объектов с любым из свойств зависимостей этого объекта.

(Унаследовано от Animatable)
Height

Получает высоту исходного растрового изображения в устройствах независимо от устройства (1/96-й дюйм на единицу).

IsDownloading

Возвращает значение, указывающее, загружается ли BitmapSource содержимое в данный момент.

IsFrozen

Возвращает значение, указывающее, является ли объект изменяемым в настоящее время.

(Унаследовано от Freezable)
IsSealed

Возвращает значение, указывающее, запечатан ли этот экземпляр (только для чтения).

(Унаследовано от DependencyObject)
Metadata

Возвращает метаданные, связанные с этим растровым изображением.

Palette

Возвращает цветовую палитру растрового изображения, если он указан.

PixelHeight

Возвращает высоту растрового изображения в пикселях.

PixelWidth

Возвращает ширину растрового изображения в пикселях.

Width

Получает ширину растрового изображения в единицах, независимых от устройства (1/96-й дюйм на единицу).

Методы

Имя Описание
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Применяется к указанному объекту AnimationClockDependencyProperty. Если свойство уже анимировано, используется указанный HandoffBehavior параметр.

(Унаследовано от Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock)

Применяется к указанному объекту AnimationClockDependencyProperty. Если свойство уже анимировано, SnapshotAndReplace используется поведение передачи.

(Унаследовано от Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Применяет анимацию к указанному DependencyProperty. Анимация запускается при отрисовки следующего кадра. Если указанное свойство уже анимировано, используется указанный HandoffBehavior параметр.

(Унаследовано от Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Применяет анимацию к указанному DependencyProperty. Анимация запускается при отрисовки следующего кадра. Если указанное свойство уже анимировано, SnapshotAndReplace используется поведение передачи.

(Унаследовано от Animatable)
CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)
CheckIfSiteOfOrigin()

Проверяет, находится ли исходное содержимое растрового изображения из известного сайта источника. Этот метод используется для обеспечения безопасности операций копирования пикселей.

ClearValue(DependencyProperty)

Очищает локальное значение свойства. Свойство для очистки указывается идентификатором DependencyProperty .

(Унаследовано от DependencyObject)
ClearValue(DependencyPropertyKey)

Очищает локальное значение свойства только для чтения. Свойство, которое необходимо очистить, задается параметром DependencyPropertyKey.

(Унаследовано от DependencyObject)
Clone()

Создает модификаторный клон этого BitmapSourceобъекта, делая глубокие копии значений этого объекта. При копировании свойств зависимостей этот метод копирует ссылки на ресурсы и привязки данных (но они больше не могут разрешаться), но не анимации или их текущие значения.

CloneCore(Freezable)

Делает этот экземпляр глубокой копией указанного BitmapSource. При копировании свойств зависимостей этот метод копирует ссылки на ресурсы и привязки данных (но они больше не могут разрешаться), но не анимации или их текущие значения.

CloneCurrentValue()

Создает модификаторный клон этого объекта, делая глубокие копии текущих значений этого BitmapSource объекта. Ссылки на ресурсы, привязки данных и анимации не копируются, но их текущие значения.

CloneCurrentValueCore(Freezable)

Делает этот экземпляр изменяемым глубоким копированием указанного BitmapSource с использованием текущих значений свойств. Ссылки на ресурсы, привязки данных и анимации не копируются, но их текущие значения.

CoerceValue(DependencyProperty)

Принуждает значение указанного свойства зависимостей. Это достигается путем вызова любой CoerceValueCallback функции, указанной в метаданных свойств для свойства зависимостей, так как он существует при вызове DependencyObject.

(Унаследовано от DependencyObject)
CopyPixels(Array, Int32, Int32)

Копирует данные пикселя растрового изображения в массив пикселей с указанным шагом, начиная с указанного смещения.

CopyPixels(Int32Rect, Array, Int32, Int32)

Копирует данные пикселя растрового изображения в указанном прямоугольнике в массив пикселей с указанным шагом, начиная с указанного смещения.

CopyPixels(Int32Rect, IntPtr, Int32, Int32)

Копирует данные пикселя растрового изображения в указанном прямоугольнике.

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32)

Создает новое из BitmapSource массива пикселей.

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, IntPtr, Int32, Int32)

Создает новый из BitmapSource массива пикселей, хранящихся в неуправляемой памяти.

CreateInstance()

Инициализирует новый экземпляр класса Freezable.

(Унаследовано от Freezable)
CreateInstanceCore()

При реализации в производном классе создает новый экземпляр производного Freezable класса.

(Унаследовано от Freezable)
Equals(Object)

Определяет, эквивалентен ли предоставленный DependencyObject объект текущему DependencyObject.

(Унаследовано от DependencyObject)
Freeze()

Делает текущий объект неизменяемым и задает для свойства значение IsFrozentrue.

(Унаследовано от Freezable)
FreezeCore(Boolean)

Делает экземпляр BitmapSource или производный класс неизменяемым.

GetAnimationBaseValue(DependencyProperty)

Возвращает неанимированное значение указанного DependencyProperty.

(Унаследовано от Animatable)
GetAsFrozen()

Создает замороженную копию базовых Freezable(не анимированных) значений свойств. Так как копия заморожена, все замороженные вложенные объекты копируются по ссылке.

(Унаследовано от Freezable)
GetAsFrozenCore(Freezable)

Делает этот экземпляр клоном указанного BitmapSource объекта.

GetCurrentValueAsFrozen()

Создает замороженную копию с использованием текущих значений Freezable свойств. Так как копия заморожена, все замороженные вложенные объекты копируются по ссылке.

(Унаследовано от Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Делает этот экземпляр замороженным клоном указанного.BitmapSource Ссылки на ресурсы, привязки данных и анимации не копируются, но их текущие значения.

GetHashCode()

Получает хэш-код для этого DependencyObject.

(Унаследовано от DependencyObject)
GetLocalValueEnumerator()

Создает специализированный перечислитель для определения того, какие свойства зависимостей имеют локальные значения для этого DependencyObject.

(Унаследовано от DependencyObject)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
GetValue(DependencyProperty)

Возвращает текущее эффективное значение свойства зависимостей для этого экземпляра DependencyObject.

(Унаследовано от DependencyObject)
InvalidateProperty(DependencyProperty)

Повторно вычисляет эффективное значение для указанного свойства зависимостей.

(Унаследовано от DependencyObject)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
OnChanged()

Вызывается при изменении текущего Freezable объекта.

(Унаследовано от Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Этот член поддерживает инфраструктуру Windows Presentation Foundation (WPF) и не предназначен для использования непосредственно из кода.

(Унаследовано от Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Убедитесь, что для элемента данных, который только что был установлен, установлены DependencyObjectType соответствующие указатели контекста.

(Унаследовано от Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Переопределяет DependencyObject реализацию OnPropertyChanged(DependencyPropertyChangedEventArgs) для вызова всех Changed обработчиков в ответ на изменение свойства зависимостей типа Freezable.

(Унаследовано от Freezable)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если оно существует.

(Унаследовано от DependencyObject)
ReadPreamble()

Гарантирует, что Freezable доступ к ней осуществляется из допустимого потока. Наследующие метод Freezable должны вызывать этот метод в начале любого API, который считывает элементы данных, которые не являются свойствами зависимостей.

(Унаследовано от Freezable)
SetCurrentValue(DependencyProperty, Object)

Задает значение свойства зависимостей, не изменяя его источник значений.

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей, указанное его идентификатором свойства зависимостей.

(Унаследовано от DependencyObject)
SetValue(DependencyPropertyKey, Object)

Задает локальное значение свойства зависимостей только для чтения, указанное DependencyPropertyKey идентификатором свойства зависимости.

(Унаследовано от DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Возвращает значение, указывающее, должны ли процессы сериализации сериализовать значение для указанного свойства зависимостей.

(Унаследовано от DependencyObject)
ToString()

Создает строковое представление этого объекта на основе текущего языка и региональных параметров.

(Унаследовано от ImageSource)
ToString(IFormatProvider)

Создает строковое представление этого объекта на основе переданного IFormatProvider объекта. Если поставщик имеет значение null, CurrentCulture используется.

(Унаследовано от ImageSource)
VerifyAccess()

Принудительно применяет, что вызывающий поток имеет доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)
WritePostscript()

Changed Вызывает событие для Freezable метода и вызывает его OnChanged() метод. Классы, производные от Freezable этого метода, должны вызываться в конце любого API, который изменяет элементы класса, которые не хранятся в качестве свойств зависимостей.

(Унаследовано от Freezable)
WritePreamble()

Проверяет, что Freezable он не заморожен и к нему осуществляется доступ из допустимого контекста потоков. Freezable наследующие метод должны вызывать этот метод в начале любого API, записывающего элементы данных, которые не являются свойствами зависимостей.

(Унаследовано от Freezable)

События

Имя Описание
Changed

Происходит при Freezable изменении объекта или объекта, содержащего его.

(Унаследовано от Freezable)
DecodeFailed

Происходит при сбое загрузки изображения из-за поврежденного заголовка образа.

DownloadCompleted

Происходит, когда содержимое растрового изображения было полностью загружено.

DownloadFailed

Происходит при сбое скачивания содержимого растрового изображения.

DownloadProgress

Происходит при изменении хода скачивания содержимого растрового изображения.

Явные реализации интерфейса

Имя Описание
IFormattable.ToString(String, IFormatProvider)

Форматирует значение текущего экземпляра с помощью указанного формата.

(Унаследовано от ImageSource)

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

См. также раздел