我想将画布(它具有图像,文本,形状等)保存到服务器上的svg。将画布保存为服务器上的svg和json
实际上,我希望画布以3种格式保存画布 - png文件,svg文件和JSON文件。
这是我的画布,PNG代码:
的jQuery:
jQuery(document).ready(function(){
jQuery('#btnSave').click(function(){
var pic =document.getElementById("myCanvas").toDataURL('image/png');
$.ajax({
type: "POST",
url: "script.php",
data: {
img: pic
}
}).done(function(o) {
console.log('saved');
});
});
});
PHP代码(script.php的):
if (isset($_POST['img'])) {
define('UPLOAD_DIR', 'uploaddesign/');
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';
}
人知道如何保存在其它两种格式的画布,svg和json:
您可能希望在一些JS对象的所有图纸帆布(路径声明等)保存,以便能够在整个救不为SVG或JSON 。一些camvas库提供这个功能(例如fabricjs),但是你必须从头开始使用它们。如果您不使用库,那么只有您可以知道json格式应该是什么样子才能重现图形。 – Kaiido