【发布时间】:2010-10-29 08:26:11
【问题描述】:
从 HTML 画布元素的内容生成图像数据的最佳方法是什么?
我想创建可以传输到服务器的图像数据(用户不必直接保存到文件中)。图像数据应采用常见格式,例如 PNG 或 JPEG。
首选在多个浏览器中正常工作的解决方案,但如果每个解决方案都依赖于浏览器,则应以最新版本的 Firefox 为目标。
【问题讨论】:
标签: javascript html canvas
从 HTML 画布元素的内容生成图像数据的最佳方法是什么?
我想创建可以传输到服务器的图像数据(用户不必直接保存到文件中)。图像数据应采用常见格式,例如 PNG 或 JPEG。
首选在多个浏览器中正常工作的解决方案,但如果每个解决方案都依赖于浏览器,则应以最新版本的 Firefox 为目标。
【问题讨论】:
标签: javascript html canvas
Firefox 和 Opera 有一个 toDataURL() 方法,它返回一个数据 URL 格式的 PNG。您可以将结果分配给表单字段以将其提交给服务器。
数据 URL 采用 base-64 编码,因此您必须在服务器端对其进行解码。您还需要去掉“data:image/png;”当然是一部分。
【讨论】:
我认为您可以使用的库是Canvas2Image,它使用 Canvas 的本机功能,但不适用于任何浏览器。我有这个库的优化版本,如果你愿意,我会与你分享。
然后您可以获取生成的Data URI 并使用 Ajax 将其发送到服务器。
【讨论】: