33 Voix

HTML5: Canvas.toDataURL() renvoie toujours PNG au lieu de JPG

Question de Invité | 03/04/2021 à 20:43

J'utilise la fonction .toDataURL() offerte par un élément HTML 5 Canvas pour obtenir l'image sous forme de chaîne encodée en base64. Le problème est que peu importe où je vais, le résultat est toujours au format PNG, même si je veux réellement avoir un JPG. La chaîne commence toujours par "data:image/png;base64;".

J'ai essayé les possibilités suivantes:

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

Autant que je sache, seule la dernière ligne devrait renvoyer une image PNG. Qu'est-ce que je fais mal?

RépondrePositifNégatif
2Meilleure Réponse2 Voix

Le format par défaut de .toDataURL() est PNG.

Par conséquent, les deux dernières lignes doivent toutes deux renvoyer l'image au format PNG (pas de spécification du format ou de spécification explicite de l'image / png).

PNG était le premier format pris en charge par les navigateurs. C'est pourquoi certains navigateurs ne prennent en charge que le format PNG et rien d'autre. Ces navigateurs renvoient toujours le PNG, peu importe ce que vous avez spécifié. À cet égard, ce comportement est même correct, car selon la spécification, PNG doit être le format de choix dans chaque cas, le format souhaité n'est pas pris en charge.

Dans votre cas, j'essaierais de mettre à jour votre navigateur et de le réessayer ensuite. Peut-être que vous utilisez toujours une version qui n'est réalisable qu'en PNG.
03/04/2021 à 22:36

RépondrePositif Négatif
Répondre

Sujets Connexes

jQuery: Changer Image

Question | 1 Réponse

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.