Compartir a través de


Cómo descodificar una imagen (HTML)

[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows Runtime. Si estás desarrollando para Windows 10, consulta la documentación más reciente ]

Te mostramos cómo cargar una imagen de un archivo, mostrarla con la etiqueta <img> y crear un objeto BitmapDecoder a partir del archivo de imagen. BitmapDecoder permite acceder a los metadatos y obtener datos de píxeles de las imágenes.

Lo que debes saber

Tecnologías

Requisitos previos

Instrucciones

Paso 1: Agregar una imagen de marcador de posición

Agrega una etiqueta <img> al archivo HTML.

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

Más tarde cargarás el archivo de imagen en el objeto myImage.

Paso 2: Usar el selector de archivos para seleccionar un archivo de imagen

Crea un nuevo objeto FileOpenPicker para permitir que el usuario seleccione el archivo que quiere abrir. Establece la extensión de archivo para filtrar imágenes JPEG. A continuación, muestra el selector.

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

Nota  Puedes obtener una lista de todas la extensiones de archivo que admiten los códecs instalados en el sistema utilizando Windows.Graphics.Imaging.BitmapDecoder.getDecoderInformationEnumerator.

 

Nota  Si el usuario cancela la acción, el método pickSingleFileAsync devuelve un objeto null.

 

Paso 3: Mostrar la imagen en el elemento Image

Crea una dirección URL de objeto para el archivo y establécela como el origen del elemento Image.

El método createObjectURL crea una dirección URL respaldada por datos de un objeto como StorageFile.

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

Paso 4: Crear un objeto descodificador

Abre el archivo mediante el modo de acceso de lectura para obtener una IRandomAccessStream. A continuación, crea un objeto BitmapDecoder en la secuencia.

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

Observaciones

Ahora que tienes un objeto descodificador, puedes usarlo para:

Temas relacionados

Cómo leer metadatos de imagen

Cómo obtener datos de píxeles

Cómo codificar una imagen

Windows.Graphics.Imaging