다음을 통해 공유


RenderTargetBitmap.RenderAsync 메서드

정의

오버로드

RenderAsync(UIElement)

UIElement 시각적 트리의 스냅샷 이미지 원본에 렌더링합니다.

RenderAsync(UIElement, Int32, Int32)

UIElement 시각적 트리의 스냅샷 이미지 원본에 렌더링합니다. scaledWidthscaledHeight 값을 지정하여 원래 원본의 렌더링 차원을 변경합니다.

RenderAsync(UIElement)

UIElement 시각적 트리의 스냅샷 이미지 원본에 렌더링합니다.

public:
 virtual IAsyncAction ^ RenderAsync(UIElement ^ element) = RenderAsync;
/// [Windows.Foundation.Metadata.Overload("RenderAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction RenderAsync(UIElement const& element);
[Windows.Foundation.Metadata.Overload("RenderAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction RenderAsync(UIElement element);
function renderAsync(element)
Public Function RenderAsync (element As UIElement) As IAsyncAction

매개 변수

element
UIElement

렌더링할 시각적 트리 조각을 나타내는 UIElement 입니다.

반환

비동기 작업을 제어하는 데 사용할 수 있는 IAsyncAction 개체입니다.

특성

설명

렌더링된 이미지는 이 메서드에서 반환되지 않습니다. 그러나 비동기 상태 값이 오류를 나타내지 않는 한 반환된 후에는 이를 호출한 RenderTargetBitmap 에 유효한 이미지 정보가 있습니다. 그런 다음 RenderTargetBitmap을 코드에서 이미지 컨트롤 또는 ImageBrush instance 대한 이미지 원본으로 할당할 수 있습니다.

이미지 원본뿐만 아니라 렌더링된 콘텐츠의 픽셀 버퍼 표현이 필요한 경우 RenderAsync를 호출한 후 GetPixelsAsync 를 사용합니다.

이는 비동기 메서드이므로 UI 원본과의 정확한 프레임 동기화가 보장되지 않습니다. 다른 제한 사항에 대한 자세한 내용은 RenderTargetBitmap 의 비고를 참조하세요.

요소 매개 변수에 대해 null을 전달할 수 있으며 앱의 루트 시각적 트리를 렌더링합니다.

XAML 시각적 개체 및 RenderTargetBitmap 캡처 기능

RenderTargetBitmap에 캡처할 수 없는 XAML로 구성된 시각적 콘텐츠에 대한 몇 가지 시나리오가 있습니다.

  • MediaPlayerElement의 비디오 콘텐츠는 RenderTargetBitmap을 사용하여 캡처할 수 없습니다. 여기에는 비디오 콘텐츠 내에서 프레임 캡처가 포함됩니다.
  • SwapChainBackgroundPanel 또는 SwapChainPanel 내의 사용자 지정 Microsoft DirectX 콘텐츠(사용자 고유의 스왑 체인)는 RenderTargetBitmap을 사용하여 캡처할 수 없습니다.
  • 트리에 있지만 표시 유형Collapsed 로 설정된 콘텐츠는 캡처되지 않습니다.
  • XAML 시각적 트리에 직접 연결되지 않은 콘텐츠와 기본 창의 콘텐츠는 캡처되지 않습니다. 여기에는 하위 창처럼 간주되는 팝업 콘텐츠가 포함됩니다.
  • 캡처할 수 없는 콘텐츠는 캡처된 이미지에 비어 있는 것으로 표시되지만 동일한 시각적 트리의 다른 콘텐츠는 여전히 캡처되고 렌더링됩니다(캡처할 수 없는 콘텐츠의 존재는 해당 XAML 컴퍼지션의 전체 캡처를 무효화하지 않음).
  • XAML 시각적 트리에 있지만 화면 외의 콘텐츠는 표시 유형 = 축소 가 아니거나 다른 제한된 경우에 캡처할 수 있습니다.

추가 정보

적용 대상

RenderAsync(UIElement, Int32, Int32)

UIElement 시각적 트리의 스냅샷 이미지 원본에 렌더링합니다. scaledWidthscaledHeight 값을 지정하여 원래 원본의 렌더링 차원을 변경합니다.

public:
 virtual IAsyncAction ^ RenderAsync(UIElement ^ element, int scaledWidth, int scaledHeight) = RenderAsync;
/// [Windows.Foundation.Metadata.Overload("RenderToSizeAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction RenderAsync(UIElement const& element, int const& scaledWidth, int const& scaledHeight);
[Windows.Foundation.Metadata.Overload("RenderToSizeAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction RenderAsync(UIElement element, int scaledWidth, int scaledHeight);
function renderAsync(element, scaledWidth, scaledHeight)
Public Function RenderAsync (element As UIElement, scaledWidth As Integer, scaledHeight As Integer) As IAsyncAction

매개 변수

element
UIElement

렌더링할 시각적 트리 조각을 나타내는 UIElement 입니다.

scaledWidth
Int32

int

렌더링할 대상 너비를 지정합니다. 기본값은 0입니다. scaledWidth 및/또는 scaledHeight는 선택 사항일 수 있습니다. 설명을 참조하세요.

scaledHeight
Int32

int

렌더링할 대상 높이를 지정합니다. 기본값은 0입니다. scaledWidth 및/또는 scaledHeight는 선택 사항일 수 있습니다. 설명을 참조하세요.

반환

비동기 작업을 제어하는 데 사용할 수 있는 IAsyncAction 개체입니다.

특성

설명

렌더링된 이미지는 이 메서드에서 반환되지 않습니다. 그러나 비동기 상태 값이 오류를 나타내지 않는 한 반환된 후에는 이를 호출한 RenderTargetBitmap 에 유효한 이미지 정보가 있습니다. 그런 다음 RenderTargetBitmap을 코드에서 이미지 컨트롤 또는 ImageBrush instance 대한 이미지 원본으로 할당할 수 있습니다.

이미지 원본뿐만 아니라 렌더링된 콘텐츠의 픽셀 버퍼 표현이 필요한 경우 RenderAsync를 호출한 후 GetPixelsAsync를 사용합니다.

이는 비동기 메서드이므로 UI 원본과의 정확한 프레임 동기화가 보장되지 않습니다. 다른 제한 사항에 대한 자세한 내용은 RenderTargetBitmap 의 비고를 참조하세요.

UIElement 시각적 트리의 크기 조정된 높이 또는 너비가 시스템이 내부적으로 할당할 수 있는 비디오 메모리 양보다 크면 RenderAsync를 호출하지 못합니다.

요소 매개 변수에 대해 null을 전달할 수 있으며 앱의 루트 시각적 트리를 렌더링합니다.

scaledWidthscaledHeight

scaledWidthscaledHeight가 모두 설정된 경우 원래 비트맵의 가로 세로 비율이 무시되고 값이 가로 세로 비율을 변경할 수 있습니다.

scaledWidth 또는 scaledHeight가 둘 다 지정되지 않은 경우 해당 차원을 제공하는 값은 가로 세로 비율이 유지됩니다(다른 차원은 원래 비트맵의 가로 세로 비율을 고려하여 계산됨).

이 메서드를 호출하고 scaledWidthscaledHeight 값을 모두 0으로 그대로 둘 수 있습니다. 이 경우 UIElement 트리는 네이티브 크기로 렌더링됩니다. 이는 RenderAsync(UIElement) 오버로드와 동일한 동작입니다.

XAML 시각적 트리의 렌더링된 최대 크기는 Microsoft DirectX 텍스처의 최대 크기로 제한됩니다. 자세한 내용은 리소스 제한()을 참조하세요. 이 리소스 제한은 앱이 실행되는 하드웨어에 따라 달라질 수 있습니다. 이 제한을 초과하는 매우 큰 콘텐츠는 맞게 크기가 조정될 수 있습니다. 이러한 방식으로 크기 조정 제한이 적용되는 경우 PixelWidthPixelHeight 속성을 사용하여 크기 조정 후 렌더링된 크기를 쿼리할 수 있습니다. 예를 들어 10000 x 10000픽셀 XAML 시각적 트리는 적용 중인 2D 텍스처에 대한 특정 리소스 제한의 예인 4096x4096 픽셀로 스케일링될 수 있습니다.

XAML 시각적 개체 및 RenderTargetBitmap 캡처 기능

RenderTargetBitmap에 캡처할 수 없는 XAML로 구성된 시각적 콘텐츠에 대한 몇 가지 시나리오가 있습니다.

  • MediaPlayerElement의 비디오 콘텐츠는 RenderTargetBitmap을 사용하여 캡처할 수 없습니다. 여기에는 비디오 콘텐츠 내에서 프레임 캡처가 포함됩니다.
  • SwapChainBackgroundPanel 또는 SwapChainPanel 내의 사용자 지정 Microsoft DirectX 콘텐츠(사용자 고유의 스왑 체인)는 RenderTargetBitmap을 사용하여 캡처할 수 없습니다.
  • 트리에 있지만 표시 유형Collapsed 로 설정된 콘텐츠는 캡처되지 않습니다.
  • XAML 시각적 트리에 직접 연결되지 않은 콘텐츠와 기본 창의 콘텐츠는 캡처되지 않습니다. 여기에는 하위 창처럼 간주되는 팝업 콘텐츠가 포함됩니다.
  • Windows Phone 8.x 앱의 경우: WebView 컨트롤의 콘텐츠를 RenderTargetBitmap으로 렌더링할 수 없습니다.
  • 캡처할 수 없는 콘텐츠는 캡처된 이미지에 비어 있는 것으로 표시되지만 동일한 시각적 트리의 다른 콘텐츠는 여전히 캡처되고 렌더링됩니다(캡처할 수 없는 콘텐츠의 존재는 해당 XAML 컴퍼지션의 전체 캡처를 무효화하지 않음).
  • XAML 시각적 트리에 있지만 화면 외의 콘텐츠는 표시 유형 = 축소 가 아니거나 다른 제한된 경우에 캡처할 수 있습니다.

추가 정보

적용 대상