最近開發網站有一個需求,要求頁面上有一塊區域,用戶能用鼠標在上面寫字,並能保存成圖片 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")
複製代碼