我有 HTML5 canvas 绘图应用程序,我需要在用户单击按钮时更改它的背景颜色。
Canvas 上的背景颜色在用户端工作,但用户可以将图像保存到服务器,我正在使用 canvas.toDataURL('image/png') 导出 Canvas 数据。问题是,不包括 Canvas 的背景颜色,它只发送用户绘制的数据。
我考虑过在整个 Canvas 上放置大的 retangle,但这会覆盖所有已经绘制的图画。有什么想法吗?
最佳答案
如果你想在你已经在 Canvas 上画了一些东西之后添加背景,你可以添加另一个具有相同大小和“display:none”的 Canvas - 然后,在发送图像之前,只需填充临时 Canvas 从 CSS 中获取主 Canvas 元素的背景颜色,然后将主 Canvas 绘制到临时 Canvas 上。 最后,将临时 Canvas 的合成图而不是具有透明背景的主 Canvas 的位图发送到服务器。
关于javascript - 更改 Canvas 背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21571233/