LoadedImageSurface 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이미지를 다운로드, 디코딩 및 로드할 수 있는 컴퍼지션 표면을 나타냅니다. 이미지 원본 파일을 참조하는 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
- 상속
- 특성
- 구현
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 만들고 이미지가 디코딩하는 최대 크기를 제어할 수 있습니다. 최대 크기를 지정하지 않으면 이미지가 자연 크기로 디코딩됩니다.
- StartLoadFromUri(Uri)
- StartLoadFromUri(Uri, Size)
- StartLoadFromStream(IRandomAccessStream)
- StartLoadFromStream(IRandomAccessStream, Size)
수명 관리
팩터리 메서드 중 하나를 사용하여 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에 로드할 때 발생합니다. |