一. 基本流程
-
- 创建
canvas 画布与按钮,设置二维绘图;
-
- 实例化一个
Image , 设置图片路径,绘制图片需要在图片加载完成后进行;
-
- 获取
canvas编码,创建a标签,设置href属性,设置download属性,添加至body,触发下载,从body中删除。
二. 代码注释详解
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<canvas width="300" height="300"></canvas>
<button>保存</button>
</body>
<script>
let canvas = document.querySelector('canvas')
let ctx = canvas.getContext("2d")
let img = new Image()
img.src = "./imgs/mt.png"
img.onload = function () {
ctx.drawImage(img, 0, 0, 300, 300)
}
let button = document.querySelector('button')
button.addEventListener('click', function () {
let dataURL = canvas.toDataURL()
let link = document.createElement('a')
link.href = dataURL
link.download = 'mt'
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
})
</script>
</html>
三. 效果展示
