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');