Я використовую інструмент JavaScript "Canvas2Image" Nihilogic для перетворення малюнків полотна в зображення PNG. Що мені зараз потрібно - це перетворити ці рядки base64, які створює цей інструмент, у фактичні файли PNG на сервері, використовуючи PHP.
Коротше кажучи, те, що я зараз роблю, - це генерувати файл на стороні клієнта за допомогою Canvas2Image, а потім отримувати кодовані базою 64 дані та відправляти їх на сервер за допомогою 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
}
});
У цей момент "hidden.php" отримує блок даних, схожий на дані: image / png; base64, iVBORw0KGgoAAAANANhEUgAABE ...
З цього моменту я досить сильно тупнув. З того, що я прочитав, я вважаю, що я повинен використовувати функцію imagecreatefromstring PHP , але я не впевнений, як насправді створити фактичне зображення PNG з кодованого рядка base64 і зберігати його на своєму сервері. Будь ласка, допоможіть!