J'utilise l'outil JavaScript "Canvas2Image" de Nihilogic pour convertir des dessins de toile en images PNG. Ce dont j'ai besoin maintenant, c'est de transformer ces chaînes base64 que cet outil génère, en fichiers PNG réels sur le serveur, en utilisant PHP.
En bref, ce que je fais actuellement est de générer un fichier côté client en utilisant Canvas2Image, puis de récupérer les données encodées en base64 et de les envoyer au serveur en utilisant AJAX:
// Generate the image file
var image = Canvas2Image.saveAsPNG(canvas, true);
image.id = "canvasimage";
canvas.parentNode.replaceChild(image, canvas);
var url = 'hidden.php',
data = $('#canvasimage').attr('src');
$.ajax({
type: "POST",
url: url,
dataType: 'text',
data: {
base64data : data
}
});
À ce stade, "hidden.php" reçoit un bloc de données qui ressemble à des données: image / png; base64, iVBORw0KGgoAAAANSUhEUgAABE ...
À partir de ce moment, je suis à peu près perplexe. D'après ce que j'ai lu, je pense que je suis censé utiliser la fonction imagecreatefromstring de PHP , mais je ne sais pas comment créer réellement une image PNG réelle à partir de la chaîne encodée en base64 et la stocker sur mon serveur. Veuillez aider!