다음을 통해 공유


BitmapDecoder 클래스

정의

첫 번째 프레임의 데이터뿐만 아니라 비트맵 컨테이너 데이터에 대한 읽기 액세스를 제공합니다.

public ref class BitmapDecoder sealed : IBitmapFrameWithSoftwareBitmap
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class BitmapDecoder final : IBitmapFrameWithSoftwareBitmap
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class BitmapDecoder : IBitmapFrameWithSoftwareBitmap
Public NotInheritable Class BitmapDecoder
Implements IBitmapFrameWithSoftwareBitmap
상속
Object Platform::Object IInspectable BitmapDecoder
특성
구현

Windows 요구 사항

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

예제

디코더 개체를 만드는 부분 예제는 다음과 같습니다. 이 예제에서는 Windows.Storage.Pickers.FileOpenPicker를 사용하여 파일을 선택했다고 가정합니다. 파일 선택, 디코더 만들기 및 이미지 디코딩에 대한 전체 지침은 이미징을 참조하세요.

FileOpenPicker fileOpenPicker = new FileOpenPicker();
fileOpenPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
fileOpenPicker.FileTypeFilter.Add(".jpg");
fileOpenPicker.ViewMode = PickerViewMode.Thumbnail;

var inputFile = await fileOpenPicker.PickSingleFileAsync();

if (inputFile == null)
{
    // The user cancelled the picking operation
    return;
}

SoftwareBitmap softwareBitmap;

using (IRandomAccessStream stream = await inputFile.OpenAsync(FileAccessMode.Read))
{
    // Create the decoder from the stream
    BitmapDecoder decoder = await BitmapDecoder.CreateAsync(stream);

    // Get the SoftwareBitmap representation of the file
    softwareBitmap = await decoder.GetSoftwareBitmapAsync();
}

설명

이미지 형식

BitmapDecoder는 다음 형식을 디코딩할 수 있습니다.

  • JPEG
  • PNG
  • GIF
  • TIFF
  • BMP
  • ICO
  • JPEG-XR
  • Microsoft 카메라 코덱 팩을 사용하여 설치된 모든 카메라 원시 형식입니다.

디코딩 형식 목록은 BitmapEncoder 항목을 참조하세요.

BitmapDecoder 클래스는 IBitmapFrame을 구현합니다. 첫 번째 프레임의 데이터뿐만 아니라 컨테이너 데이터에 대한 액세스를 제공합니다. 이를 통해 애플리케이션은 별도의 BitmapFrame을 검색할 필요 없이 가장 일반적인 시나리오를 수행할 수 있습니다.

버전 기록

Windows 버전 SDK 버전 추가된 값
1809 17763 HeifDecoderId
1809 17763 WebpDecoderId

속성

BitmapAlphaMode

첫 번째 프레임의 기본 알파 모드입니다.

BitmapContainerProperties

컨테이너 비트맵 속성에 대한 액세스를 제공합니다.

BitmapPixelFormat

첫 번째 프레임에 가장 적합한 픽셀 형식입니다.

BitmapProperties

첫 번째 프레임 내의 메타데이터에 대한 읽기 전용 보기입니다.

BmpDecoderId

BMP 디코더의 고유 식별자입니다.

DecoderInformation

비트맵 디코더에 대한 정보입니다.

DpiX

첫 번째 프레임의 가로 해상도(인치당 점 수)입니다.

DpiY

첫 번째 프레임의 세로 해상도(인치당 점 수)입니다.

FrameCount

이미지 파일 내의 프레임 수입니다.

GifDecoderId

GIF 디코더의 고유 식별자입니다.

HeifDecoderId

HEIF 디코더의 고유 식별자입니다.

IcoDecoderId

ICO 디코더의 고유 식별자입니다.

JpegDecoderId

JPEG 디코더의 고유 식별자입니다.

JpegXRDecoderId

JPEG-XR 디코더의 고유 식별자입니다.

OrientedPixelHeight

EXIF 방향이 비트맵에 적용된 후 첫 번째 프레임의 높이(픽셀)입니다.

OrientedPixelWidth

EXIF 방향이 비트맵에 적용된 후 첫 번째 프레임의 너비(픽셀)입니다.

PixelHeight

첫 번째 프레임의 높이(픽셀)입니다.

PixelWidth

첫 번째 프레임의 너비(픽셀)입니다.

PngDecoderId

PNG 디코더의 고유 식별자입니다.

TiffDecoderId

TIFF 디코더의 고유 식별자입니다.

WebpDecoderId

WebP 디코더의 고유 식별자입니다.

메서드

CreateAsync(Guid, IRandomAccessStream)

특정 비트맵 코덱을 사용하여 새 BitmapDecoder 를 비동기적으로 만들고 스트림을 사용하여 초기화합니다.

CreateAsync(IRandomAccessStream)

BitmapDecoder 를 비동기적으로 만들고 스트림을 사용하여 초기화합니다.

GetDecoderInformationEnumerator()

시스템에 설치된 비트맵 디코더와 해당 디코더에 대한 정보입니다.

GetFrameAsync(UInt32)

이미지 파일에서 프레임을 비동기적으로 검색합니다.

GetPixelDataAsync()

프레임의 픽셀 데이터를 비동기적으로 요청합니다.

GetPixelDataAsync(BitmapPixelFormat, BitmapAlphaMode, BitmapTransform, ExifOrientationMode, ColorManagementMode)

지정된 매개 변수를 사용하여 프레임의 픽셀 데이터를 비동기적으로 요청합니다.

GetPreviewAsync()

미리 보기 이미지가 포함된 스트림을 비동기적으로 반환합니다.

GetSoftwareBitmapAsync()

디코딩된 비트 맵의 SoftwareBitmap 표현을 비동기적으로 가져옵니다.

GetSoftwareBitmapAsync(BitmapPixelFormat, BitmapAlphaMode, BitmapTransform, ExifOrientationMode, ColorManagementMode)

디코딩된 비트 맵의 SoftwareBitmap 표현을 비동기적으로 가져옵니다.

GetSoftwareBitmapAsync(BitmapPixelFormat, BitmapAlphaMode)

디코딩된 비트 맵의 SoftwareBitmap 표현을 비동기적으로 가져옵니다.

GetThumbnailAsync()

미리 보기 이미지가 포함된 스트림을 비동기적으로 반환합니다.

적용 대상

추가 정보