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