다음을 통해 공유


LoadedImageSurface 클래스

정의

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

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 Platform::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)

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

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

LoadedImageSurface 인코딩 및 디코딩

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

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

수명 관리

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

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

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

속성

DecodedPhysicalSize

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

DecodedSize

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

NaturalSize

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

메서드

Close()

LoadedImageSurface 및 연결된 리소스를 삭제합니다.

Dispose()

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

StartLoadFromStream(IRandomAccessStream)

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

StartLoadFromStream(IRandomAccessStream, Size)

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

StartLoadFromUri(Uri)

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

StartLoadFromUri(Uri, Size)

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

이벤트

LoadCompleted

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

적용 대상

추가 정보