다음을 통해 공유


SurfaceImageSource 클래스

정의

그릴 Microsoft DirectX 공유 화면을 제공하고 비트를 앱 콘텐츠로 구성합니다.

/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 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(Microsoft.UI.Xaml.WinUIContract), 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
파생
특성

설명

이 클래스는 Microsoft DirectX 콘텐츠가 다른 XAML로 구성된 UI 내에서 그릴 수 있는 Microsoft DirectX 상호 운용을 위한 표시 영역입니다. SurfaceImageSource의 한 가지 고려 사항은 Microsoft DirectX 콘텐츠를 통합할 수 있지만 렌더링 주기는 여전히 XAML 중심이라는 것입니다. 이 렌더링 모델에서 Microsoft DirectX 그리기가 너무 많을 경우 대기 시간 또는 응답성이 저하할 수 있습니다. Microsoft DirectX 콘텐츠에 대해 많은 수의 다시 그리기가 예상되고 주변 XAML UI 없이 해당 콘텐츠를 전체 화면으로 표시하려는 경우 SwapChainBackgroundPanel 기술을 대신 사용해야 할 수 있습니다. 전체 화면이 아닌 콘텐츠의 또 다른 대안은 백그라운드 스레드의 별도 스크래치 표면에 렌더링한 다음 UI 스레드의 BeginDraw 에서 반환된 화면에 콘텐츠를 복사하는 것입니다. 이렇게 하면 메모리 사용량이 많은 비용으로 UI 스레드의 차단을 해제할 수 있습니다.

샘플 코드를 포함하여 SurfaceImageSource에 그리는 방법에 대한 자세한 내용은 DirectX 및 XAML interop을 참조하세요.

이 클래스에는 추가 API가 있지만 해당 API는 Microsoft DirectX 상호 운용용이며 이 설명서에 설명된 일반 앱 프로그래밍 모델의 일부가 아닙니다. 예를 들어 Microsoft DirectX 쪽에서 BeginDraw를 호출할 수 있습니다.

SurfaceImageSource 파생 클래스

SurfaceImageSource는 VirtualSurfaceImageSource의 부모 클래스입니다.

생성자

SurfaceImageSource(Int32, Int32)

그리기 영역의 크기를 지정하여 SurfaceImageSource 클래스의 새 instance 초기화합니다.

SurfaceImageSource(Int32, Int32, Boolean)

그리기 영역의 크기와 불투명도가 항상 전체 불투명도로 예상되는지 여부를 지정하여 SurfaceImageSource 클래스의 새 instance 초기화합니다. SurfaceImageSource가 투명도를 isOpaque=true 지원하지 않아야 하는 경우 이 기능을 사용하여 성능을 높일 수 있습니다.

속성

Dispatcher

항상 Windows 앱 SDK 앱에서 를 반환 null 합니다. 대신 DispatcherQueue 를 사용합니다.

(다음에서 상속됨 DependencyObject)
DispatcherQueue

DispatcherQueue 이 개체가 연결된 을 가져옵니다. 는 DispatcherQueue 코드가 비 UI 스레드에 의해 시작되더라도 UI 스레드에서 에 액세스할 DependencyObject 수 있는 기능을 나타냅니다.

(다음에서 상속됨 DependencyObject)

메서드

ClearValue(DependencyProperty)

종속성 속성의 로컬 값을 지웁니다.

(다음에서 상속됨 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

애니메이션이 활성화되지 않은 경우에 적용되는 종속성 속성에 대해 설정된 기본 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
GetValue(DependencyProperty)

DependencyObject에서 종속성 속성의 현재 유효 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
ReadLocalValue(DependencyProperty)

로컬 값이 설정된 경우 종속성 속성의 로컬 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

DependencyObject instance 특정 DependencyProperty에 대한 변경 내용을 수신 대기하기 위한 알림 함수를 등록합니다.

(다음에서 상속됨 DependencyObject)
SetValue(DependencyProperty, Object)

DependencyObject에 대한 종속성 속성의 로컬 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback을 호출하여 이전에 등록된 변경 알림을 취소합니다.

(다음에서 상속됨 DependencyObject)

적용 대상

추가 정보