[英]How to save canvas as PNG image using PHP?
我正在使用GET将用户的分数传递给make-image.php
文件。 我想将分数传递到myCanvas
背景图像之上。 如何使用PHP将这2个项目(背景图像)和画布(分数)另存为1个PNG图像在文件夹中?
我正在使用Canvas2Image脚本,但我不知道该怎么做。
请帮忙。 我被困住了。
这个make-image.php
文件:
<?php $score = $_GET['score']; ?>
<html>
<head>
<script src="base64.js"></script>
<script src="canvas2image.js"></script>
<style type="text/css">
body { margin: 0; }
</style>
</head>
<body>
<canvas id="myCanvas" width="300" height="300" style="border:1px solid #d3d3d3;background:url(http://i.imgur.com/PWSOy.jpg);"></canvas>
<script type="text/javascript">
var score = <?php echo $score; ?>;
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var x = canvas.width / 2;
var y = canvas.height / 2;
context.font = '30pt Calibri';
context.textAlign = 'center';
context.fillStyle = 'black';
context.fillText(score, x, y);
</script>
</body>
</html>
最近,我编写了一些不需要外部库的东西,或者只是几行代码
下面的$_POST['signature']
将包含您的base64 encoded
图像
define("UPLOAD_DIR", "images/signatures/");
$signature = $_POST['signature'];
$signature = str_replace('data:image/png;base64,', '', $signature);
$signature = str_replace(' ', '+', $signature);
$data = base64_decode($signature);
$file = UPLOAD_DIR . md5(microtime().date('Y-m-d')).'.png';
$success = file_put_contents($file, $data);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.