11 Voto

HTML5: Canvas.toDataURL() siempre devuelve PNG en lugar de JPG

Pregunta de Invitado | 03/04/2021 a las 12:21

Estoy usando la función .toDataURL() ofrecida por un elemento HTML 5 Canvas para obtener la imagen como una cadena codificada en base64. El problema es que no importa a dónde vaya, el resultado siempre está en formato PNG, incluso si realmente quiero tener un JPG. La cadena siempre comienza con "data:image/png;base64;".

He probado las siguientes posibilidades:

var dataURL = canvas.toDataURL("image/jpeg", 1.0);
var dataURL = canvas.toDataURL("image/jpeg");
var dataURL = canvas.toDataURL();
var dataURL = canvas.toDataURL("image/png");

Hasta donde yo sé, solo la última línea debería devolver una imagen PNG. ¿Qué estoy haciendo mal?

ResponderPositivoNegativo
2Mejor Respuesta2 Votos

El formato predeterminado de .toDataURL() es PNG.

Por lo tanto, las dos últimas líneas deben devolver la imagen como PNG (sin especificación del formato o especificación explícita de image / png).

PNG fue el primer formato admitido por los navegadores. Es por eso que hay algunos navegadores que de hecho solo admiten el formato PNG y nada más. Estos navegadores siempre devuelven PNG sin importar lo que haya especificado. En este sentido, este comportamiento es incluso correcto, porque según la especificación, PNG debe ser el formato de elección en cada caso, no se admite el formato deseado.

En su caso, intentaría actualizar su navegador y volver a intentarlo. Quizás, todavía está usando una versión que solo es factible de PNG.
03/04/2021 a las 15:27

ResponderPositivo Negativo
Responder

Temas Relacionados

jQuery: Cambiar Imagen

Pregunta | 1 Respuesta

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.