php - 如何使用我通过在 HTML 5 Canvas 上绘制创建的 src 保存图像文件

标签 php javascript image html html5-canvas

我已经使用 HTML 5 Canvas 使用 javascript 在其上绘制一些东西,在我完成绘图后我必须将该 Canvas 保存在硬盘中。我可以通过以下方法获取图片src:

var img = canvas.toDataURL();

此后 img 变量包含类似于以下值的内容

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAABkCAYAAABwx8J9AAAP/UlEQVR4Xu2dX4wV1R3HZwSCkbWIRpA+UMqfatwArqyKVSMUbENbGx8KafvQxDaRYKMvbdPyxPWlaNK+1FSDD/WptsEXUkWaytY1aK2y65YlS1SQrDR2Xa2KZTEQwNvvb51LLtvdvXPnnjt/znxucjJ3984553c+5zfznd+cM2fCgA8EIAABCEAAAoUnEB............

我可以像这样使用这个图片src

<img id=myimage" src=img />

图像在网络浏览器中完美显示。

我想做的是将此图像保存在硬盘上。有没有办法用 PHP 或 javascript 保存它。

我们将不胜感激。

最佳答案

对于 PHP >=5.2.0,您可以使用 data://流包装器:​​

file_put_contents("file.png",file_get_contents("data://".$var_containing_the_data_uri));

哪里$var_containing_the_data_uri应替换为包含数据 URI 的变量,例如 $_POST['image'] .

您可以使用 AJAX post 发送数据。如果您使用 GET 方法,请注意 URL 长度限制。

或者,如果您想让客户端下载/保存图像,只需创建一个 <img>带有数据 URI 的元素 src并告诉客户右键单击并保存它。您也可以引用@Kode-Plus 声明的链接。

关于php - 如何使用我通过在 HTML 5 Canvas 上绘制创建的 src 保存图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11645468/

相关文章:

php - 有没有办法将 OpenCV 与 PHP 集成?

php - json_decode 将长数字转换为科学记数法

javascript - 更改 contenteditable 后恢复光标位置

javascript - 如何使用 jquery 选择元素的所有先前 sibling ?

python库查找图像轮廓

node.js - node/mocha http POST 二进制文件(通过正文,而不是表单)以解析错误结尾

php - 如何在 MySQL 存储过程中使用通配符

php - 使用正则表达式从 <a> HTML 标记获取所有属性

javascript - 父元素的哪个子元素是子元素——这是一个属性吗?

css - 全尺寸背景图像 : <img> fallback for accessibility and print