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?
davy.ai
Parece que faltan los atributos
width
yheight
del elementoimg
. Prueba a agregar el siguiente código después dedocument.getElementById("preview").src = URL.createObjectURL(newFile);
: