다음을 통해 공유


LoadedImageSurface 클래스

정의

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

public ref class LoadedImageSurface sealed : ICompositionSurface, IClosable
/// [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 LoadedImageSurface final : ICompositionSurface, IClosable
[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 sealed class LoadedImageSurface : ICompositionSurface, System.IDisposable
Public NotInheritable Class LoadedImageSurface
Implements ICompositionSurface, IDisposable
상속
Object Platform::Object IInspectable LoadedImageSurface
특성
구현

예제

이 예제에서는 로컬 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(공동 사진 전문가 그룹)
  • PNG(이식 가능한 네트워크 그래픽)
  • 비트맵(BMP)
  • GIF(그래픽 교환 형식)
  • TIFF(태그가 지정된 이미지 파일 형식)
  • JPEG XR
  • 아이콘(ICO)

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

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

LoadedImageSurface 인코딩 및 디코딩

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

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

수명 관리

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

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

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

속성

DecodedPhysicalSize

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

DecodedSize

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

NaturalSize

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

메서드

Close()

LoadedImageSurface 및 관련 리소스를 삭제합니다.

Dispose()

관리되지 않는 리소스의 해제, 해제 또는 재설정과 관련된 애플리케이션 정의 작업을 수행합니다.

StartLoadFromStream(IRandomAccessStream, Size)

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

StartLoadFromStream(IRandomAccessStream)

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

StartLoadFromUri(Uri, Size)

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

StartLoadFromUri(Uri)

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

이벤트

LoadCompleted

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

적용 대상

추가 정보