LoadedImageSurface 클래스

정의

이미지를 다운로드, 디코딩 및 로드할 수 있는 컴퍼지션 표면을 나타냅니다. 이미지 원본 파일을 참조하는 URI(Uniform Resource Identifier)를 사용하거나 IRandomAccessStream.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.LoadedImageSurface(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

public ref class LoadedImageSurface sealed : IClosable, ICompositionSurface
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class LoadedImageSurface final : IClosable, ICompositionSurface
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class LoadedImageSurface : System.IDisposable, ICompositionSurface
Public NotInheritable Class LoadedImageSurface
Implements ICompositionSurface, IDisposable
상속
Object IInspectable LoadedImageSurface
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows 10 Creators Update (10.0.15063.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v4.0에서 도입되었습니다.)

예제

이 예제에서는 로컬 URI의 이미지를 표면에 로드하고 해당 이미지를 사용하는 CompositionSurfaceBrush방법을 보여 줍니다.

Compositor compositor = new Compositor();
CompositionSurfaceBrush imageBrush = compositor.CreateSurfaceBrush();

LoadedImageSurface loadedSurface = LoadedImageSurface.StartLoadFromUri(new Uri("ms-appx:///Assets/myPic.jpg"), new Size(200.0, 400.0));

// The loadedSurface currently has a size of 0x0 since it has not been downloaded, decoded and loaded to the surface yet
imageBrush.Surface = loadedSurface;

설명

LoadedImageSurface 는 다음 이미지 파일 형식에서 가져올 수 있습니다.

  • JPEG(Joint Photographic Experts Group)
  • PNG(이동식 네트워크 그래픽)
  • BMP(비트맵)
  • GIF(Graphics Interchange Format)
  • TIFF(Tagged Image File Format)
  • JPEG XR
  • 아이콘(ICO)

[!NOTE] LoadedImageSurface 는 애니메이션 GIF 이미지를 지원하지 않으므로 애니메이션 GIF의 첫 번째 프레임만 표시됩니다.

이미지 원본이 스트림인 경우 해당 스트림은 이러한 형식 중 하나로 이미지 파일을 포함해야 합니다.

LoadedImageSurface 인코딩 및 디코딩

이미지 파일에 대한 기본 코덱 지원은 Windows WIC(Windows 이미징 구성 요소) API에서 제공됩니다. 코드에 대해 문서화된 특정 이미지 형식에 대한 자세한 내용은 네이티브 WIC 코덱을 참조하세요.

팩터리 메서드 중 하나를 사용하여 다양한 유형의 이미지 원본에서 LoadedImageSurface 인스턴스를 만들고 이미지가 디코딩하는 최대 크기를 제어할 수 있습니다. 최대 크기를 지정하지 않으면 이미지가 자연 크기로 디코딩됩니다.

수명 관리

팩터리 메서드 중 하나를 사용하여 LoadedImageSurface 를 만들면 기본 표면이 즉시 0x0 크기로 초기화되고 이미지 콘텐츠가 UI 스레드에서 다운로드 및 디코딩되기 시작합니다. 이미지 원본이 성공적으로 디코딩되면 화면에 로드되고 표면이 LoadCompleted 채워지면 이벤트가 발생합니다. 로드 프로세스 중에 이미지 원본의 디코딩된 크기에 따라 표면의 크기가 0x0 최종 크기로 조정됩니다.

LoadedImageSurface 는 최종 참조가 손실될 때까지 모든 리소스를 자동으로 유지합니다. 그러나 메서드를 통해 해당 리소스를 명시적으로 삭제할 Close 수 있습니다.

[!NOTE]LoadedImageSurface 는 Windows 10 버전 1703 이전에는 사용할 수 없습니다. Microsoft Visual Studio 앱의 'minum 플랫폼 버전' 설정이 이 페이지의 뒷부분에 있는 요구 사항 블록에 표시된 '도입된 버전'보다 작으면 이 클래스를 사용할 수 없습니다.

속성

DecodedPhysicalSize

디코딩된 이미지의 크기를 실제 픽셀로 가져옵니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.LoadedImageSurface.DecodedPhysicalSize(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

DecodedSize

디바이스 독립적 픽셀에서 디코딩된 이미지의 크기를 가져옵니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.LoadedImageSurface.DecodedSize(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

NaturalSize

원본 이미지 원본에 정의된 실제 픽셀로 이미지의 자연 크기를 가져옵니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.LoadedImageSurface.NaturalSize(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

메서드

Close()

LoadedImageSurface 연결된 리소스와 관련된 리소스를 삭제합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.LoadedImageSurface.Close(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

StartLoadFromStream(IRandomAccessStream)

이미지 원본에 LoadedImageSurface 정의된 자연 크기로 제공된 IRandomAccessStream 이미지에 이미지를 로드합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.LoadedImageSurface.StartLoadFromStream(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

StartLoadFromStream(IRandomAccessStream, Size)

원하는 최대 크기로 제공된 IRandomAccessStream 이미지로 LoadedImageSurface 이미지를 로드합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.LoadedImageSurface.StartLoadFromStream(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

StartLoadFromUri(Uri)

이미지 원본에 정의된 자연 크기로 LoadedImageSurface 제공된 URI(Uniform Resource Identifier)에서 이미지를 로드합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.LoadedImageSurface.StartLoadFromUri(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

StartLoadFromUri(Uri, Size)

원하는 최대 크기로 LoadedImageSurface 제공된 URI(Uniform Resource Identifier)에서 이미지를 로드합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.LoadedImageSurface.StartLoadFromUri(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

이벤트

LoadCompleted

이미지를 다운로드, 디코딩 및 기본으로 로드할 때 발생합니다 ICompositionSurface.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.LoadedImageSurface.LoadCompleted(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

적용 대상

추가 정보