es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Problemas con el redimensionamiento de imágenes.

Estoy tratando de cambiar el tamaño de una imagen que proviene de un editor Quill.
Usé estos enlaces como guías:

  • https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage
  • https://stackoverflow.com/questions/19262141/resize-image-with-javascript-canvas-smoothly

Este es mi código:

async handleImageAdded(file, Editor, cursorLocation, resetUploader) {
    // Cambiar tamaño
    var img = document.createElement("img");
    img.src = URL.createObjectURL(file);
    var canvas = document.createElement("canvas");
    var ctx = canvas.getContext("2d");
    ctx.drawImage(img, 0, 0, 200, 200);
    var newFile = await new Promise(resolve => canvas.toBlob(resolve));
    document.getElementById("preview").src = URL.createObjectURL(newFile); //check
}

// Enviar datos al servidor

Comportamiento esperado: la etiqueta <img id="preview"> mostrará una versión redimensionada de la imagen que se envió en una variable file. (si cambio newFile a file, todo funciona tal como se espera)

Comportamiento actual: un rectángulo blanco de 300x150px.

¿Podrías ayudarme a encontrar qué me falta?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que faltan los atributos width y height del elemento img. Prueba a agregar el siguiente código después de document.getElementById("preview").src = URL.createObjectURL(newFile);:

    document.getElementById("preview").width = 200;
    document.getElementById("preview").height = 200;
    

Comments are closed.