이미지를 디코딩하는 방법(HTML)

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

파일에서 이미지를 로드하고 <img> 태그를 사용하여 이미지를 표시하고 이미지에서 BitmapDecoder 개체를 만드는 방법을 보여 줍니다. BitmapDecoder를 사용하여 메타데이터에 액세스하고 이미지에서 픽셀 데이터를 가져올 수 있습니다.

알아야 할 사항

기술

사전 요구 사항

지침

단계 1: 개체 틀 이미지 추가

HTML 파일에 <img> 태그를 추가합니다.

<img id="myImage" src="" />

나중에 이미지 파일을 myImage 개체로 로드합니다.

단계 2: 파일 선택기를 사용하여 이미지 파일 선택

사용자가 열 파일을 선택할 수 있도록 새 FileOpenPicker 개체를 만듭니다. 파일 확장명을 설정하여 JPEG 이미지를 필터링합니다. 그런 다음 선택기를 표시합니다.

function DecodeImage() {
    var picker = new Windows.Storage.Pickers.FileOpenPicker();
    picker.fileTypeFilter.append(".jpg");
    picker.pickSingleFileAsync().then(function (file) {
        if (!file) {

참고  Windows.Graphics.Imaging.BitmapDecoder.getDecoderInformationEnumerator를 사용하여 시스템에 설치한 코덱에서 지원하는 모든 파일 확장명 목록을 가져올 수 있습니다.

 

참고  사용자가 취소하면 pickSingleFileAsync 메서드는 null 개체를 반환합니다.

 

단계 3: Image 요소에 이미지 표시

파일의 개체 URL을 만들고 Image 요소의 원본으로 설정합니다.

createObjectURL 메서드는 StorageFile과 같은 개체의 데이터를 통해 지원되는 URL을 만듭니다.

            var objectURL = window.URL.createObjectURL(file, { oneTimeOnly: true });
            document.getElementById("myImage").src = objectURL;

단계 4: 디코더 개체 만들기

읽기 액세스 모드로 파일을 열어 IRandomAccessStream을 가져옵니다. 그런 다음 스트림에서 BitmapDecoder 개체를 만듭니다.

    }).then(function (stream) {
        return Windows.Graphics.Imaging.BitmapDecoder.createAsync(stream);
    }).done(function (decoder) {
        // BitmapDecoder is ready for use.
    });
}

설명

이제 디코더 개체가 있으므로 이 개체를 사용하여 다음을 수행할 수 있습니다.

관련 항목

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

픽셀 데이터를 가져오는 방법

이미지를 인코드하는 방법

Windows.Graphics.Imaging