最近开发网站有一个需求,要求页面上有一块区域,用户能用鼠标在上面写字,并能保存成图片 base64 码放在服务器。 这样的需求用 canvas 实现是最好的。 须要用到 canvas 的如下几个属性:html
除了用到这些属性外,还须要监听鼠标点击和鼠标移动事件。git
我对代码作了扩展,除了支持画笔,还支持喷枪、刷子、橡皮擦功能。canvas
将 canvas 转成图片,须要用到如下属性:服务器
canvas.toDataURL() 方法返回一个包含图片展现的 data URI 。能够使用 type 参数其类型,默认为 PNG 格式。图片的分辨率为96dpi。网站
const image = new Image()
// canvas.toDataURL 返回的是一串Base64编码的URL
image.src = canvas.toDataURL("image/png")
复制代码