Comment éviter un fond noir lors de l’enregistrement d’une div en png

J’utilise HTML2canvas, filesaver.js et canvas2blob.js pour réaliser un dialog de sauvegarde dans le navigateur. La création et la sauvegarde de la canvas à la volée fonctionnent bien, sauf que l’arrière-plan de l’image est en noir.

Le problème est l’image codée en base64 de la div avec id = “drop1” (l’utilisateur fait glisser une image de son bureau vers le code HTML, puis cette image est placée en arrière-plan comme base64).

Comment puis-je obtenir une sortie visible dans le fichier png?

mon JS:

// save img magic // html2canvas.js linked with filesaver.js and canvas2blob.js for compatibility polyfilling $('#1stSave').click(function() { var html2obj = html2canvas($('#drop1')); var queue = html2obj.parse(); var canvas = html2obj.render(queue); canvas.toBlob(function(blob) { saveAs(blob, "teaser-384x168px.png"); }); }); 

Merci beaucoup d’avance 🙂

Je l’ai obtenu avec une syntaxe différente:

  html2canvas($('#drop1'), { onrendered: function(canvas) { var img = canvas.toDataURL() canvas.toBlob(function(blob) { saveAs(blob, "teaser-384x168px.png"); }, "image/png"); } }); 

J’espère que vous pourrez l’utiliser pour vos propres besoins. À votre santé

 $('#element').css('background-color','transparent');