다음을 통해 공유


이미지 메타데이터를 쓰는 방법(HTML)

[ 이 문서는 Windows 런타임 앱을 작성하는 Windows 8.x 및 Windows Phone 8.x 개발자를 대상으로 합니다. Windows 10용으로 개발하는 경우에는 최신 설명서를 참조하세요.]

여기서는 BitmapEncoder 개체를 사용하여 이미지 메타데이터를 쓰는 방법을 보여 줍니다. Windows 속성 또는 WIC(Windows Imaging Component) 메타데이터 쿼리 언어를 사용하여 메타데이터를 작성할 수 있습니다.

BitmapDecoderBitmapEncoder를 사용한 메타데이터 액세스에 대한 자세한 내용은 이미지 메타데이터를 읽는 방법을 참조하세요.

참고  Windows.Storage.FileProperties API를 사용하면 스트림을 열지 않고 Windows.StorageFile의 기본 속성을 가져오거나 설정할 수 있습니다. 자세한 내용은 이미지 속성을 가져오는 방법을 참조하세요.

 

알아야 할 사항

기술

사전 요구 사항

지침

단계 1: 인코더 개체 가져오기

BitmapEncoder 개체를 수신하는 함수를 작성합니다.

function (encoder) {
    

인코더를 사용하여 이미지 메타데이터에 액세스할 수 있습니다. 인코더 개체가 없는 경우 새 이미지를 인코드하는 방법을 참조하세요.

단계 2: 설정할 메타데이터 수집 만들기

BitmapPropertySet을 사용하여 인코더에서 설정할 메타데이터 항목을 저장합니다. 각 메타데이터 항목은 키-값 쌍입니다.

키는 설정할 메타데이터 항목을 식별하는 문자열입니다. BitmapEncoder는 일부 Windows 속성 및 WIC 메타데이터 쿼리 언어로 생성한 쿼리를 허용합니다. 지원되는 Windows 속성 목록은 지원되는 Windows 속성을 참조하세요. 지원되는 WIC 메타데이터 쿼리에 대한 요약은 WIC 네이티브 이미지 형식 메타데이터 쿼리를 참조하세요.

값은 실제 메타데이터 값을 명시적 데이터 형식(Windows.Foundation.PropertyType)과 연결할 수 있는 BitmapTypedValue입니다.

EXIF 방향을 지정하는 System.Photo.Orientation 메타데이터를 값 1("기본" 방향 지정)을 지정하고 데이터 형식 uint16을 할당합니다.

    var propertySet = new Windows.Graphics.Imaging.BitmapPropertySet();
    var orientationValue = new Windows.Graphics.Imaging.BitmapTypedValue(
        1, // Defined as EXIF orientation = "normal"
        Windows.Foundation.PropertyType.uint16
        );

    propertySet.insert("System.Photo.Orientation", orientationValue);     

단계 3: 인코더에서 메타데이터 설정

메타데이터 항목을 모두 생성했으면 인코더에서 이 항목을 설정하고 인코딩 작업을 계속합니다.

    encoder.bitmapProperties.setPropertiesAsync(propertySet).done(function () {
        // Continue the encoding operation.
    }, function (error) {
        switch (error.number) {
            case -2003292351: // WINCODEC_ERR_PROPERTYNOTSUPPORTED
                // The file format does not support this property.
                break;
            default:
                throw error;
        }
    });
}    

참고  이미지 형식에 따라 지원하는 메타데이터 항목 집합이 다릅니다. 이미지 형식에서 지원하지 않은 메타데이터 또는 속성 항목을 설명하려고 하면 오류가 발생합니다. 예를 들어 JPEG, TIFF 및 JPEG-XR 이미지만 System.Photo.Orientation 속성을 지원합니다.

 

설명

여러 속성을 설정하려면 단일 속성을 설정할 때와 동일하게 작업하지만 여러 이름-값 쌍을 목록으로 지정합니다. 다음 코드는 OrientationCameraModel을 동시에 설정합니다.

encoder.savePropertiesAsync(["System.Photo.Orientation": 1],
                                                         "System.Photo.CameraModel": "Camera Model 1"]);

관련 항목

이미지를 인코드하는 방법

System.Photo 속성

이미지 메타데이터를 읽는 방법

WIC 메타데이터 쿼리 언어

WIC 네이티브 이미지 형식 메타데이터 쿼리

지원되는 Windows 속성