Поделиться через


SurfaceImageSource Класс

Определение

Предоставляет общие поверхности Microsoft DirectX для рисования и последующего создания битов в содержимое приложения.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SurfaceImageSource : ImageSource
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class SurfaceImageSource : ImageSource
Public Class SurfaceImageSource
Inherits ImageSource
Наследование
Object IInspectable DependencyObject ImageSource SurfaceImageSource
Производный
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Комментарии

Этот класс является областью отображения для взаимодействия Microsoft DirectX, в которой содержимое Microsoft DirectX может рисовать в пользовательском интерфейсе, состоящем из XAML. Один из соображений для SurfaceImageSource заключается в том, что, хотя он может включать содержимое Microsoft DirectX, цикл отрисовки по-прежнему ориентирован на XAML. Слишком много элементов Microsoft DirectX в этой модели отрисовки может привести к задержке или снижению скорости отклика. Если вы ожидаете большое количество перерисовок для содержимого Microsoft DirectX и планируете отобразить это содержимое в полноэкранном режиме без каких-либо окружающих пользовательского интерфейса XAML, скорее всего, следует использовать метод SwapChainBackgroundPanel . Другой альтернативой для содержимого, не являющегося полноэкранным, является отрисовка на отдельной поверхности в фоновом потоке, а затем копирование его содержимого в поверхность, возвращенную из BeginDraw в потоке пользовательского интерфейса. Это может разблокировать поток пользовательского интерфейса за счет более высокого использования памяти.

Дополнительные сведения о том, как рисовать в SurfaceImageSource, включая пример кода, см. в разделе Взаимодействие с DirectX и XAML.

Этот класс имеет дополнительный API, но эти API предназначены для взаимодействия Microsoft DirectX и не являются частью общей модели программирования приложений, описанной в этой документации. Например, на стороне Microsoft DirectX можно вызвать BeginDraw.

Производные классы SurfaceImageSource

SurfaceImageSource — это родительский класс для VirtualSurfaceImageSource.

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

SurfaceImageSource(Int32, Int32)

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

SurfaceImageSource(Int32, Int32, Boolean)

Инициализирует новый экземпляр класса SurfaceImageSource , указывая размер области рисования и указывает, должна ли непрозрачность всегда быть полной. Используйте его с isOpaque=true , если SurfaceImageSource не должен поддерживать прозрачность. Это может повысить производительность.

Свойства

Dispatcher

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

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

Методы

ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

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

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

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

Возвращает текущее действующее значение свойства зависимостей из DependencyObject.

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

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

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Регистрирует функцию уведомления для прослушивания изменений определенного DependencyProperty в этом экземпляре DependencyObject .

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

Задает локальное значение свойства зависимостей для Объекта DependencyObject.

(Унаследовано от DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова Метода RegisterPropertyChangedCallback.

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

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

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