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() |
Делает текущий объект неизменяемым и задает для свойства значение IsFrozen |
| 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 объекта. Если поставщик имеет значение |
| 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) |
Применяется к
См. также раздел
- BitmapImage
- компонент Microsoft Windows
- IWCBitmapSource