<template>
<div>
<!-- 卡片部分 -->
<button @click="generateImages">点击生成图片并将图片保存在本地</button>
<div class="card">
<div class="card_head">
<p>姓名:</p>
<p>张三丰</p>
</div>
<div class="card_content">
<p>age:</p>
<p>22岁</p>
</div>
<div class="card_footer">
<p>技能:</p>
<p>打太极</p>
</div>
</div>
<!-- 要生成的图片的内容区域 -->
<div class="content"></div>
</div>
</template>
.content {
img {
width: 202px;
height: 102px;
border-radius: 10px;
}
}
.card {
width: 200px;
height: 100px;
border: 1px solid skyblue;
border-radius: 10px;
background-color: #ccc;
margin-bottom: 10px;
div {
display: flex;
justify-content: space-between;
padding: 5px 20px;
}
}
npm i html2canvas
<script>
import html2canvas from 'html2canvas'
methods: {
generateImages () {
html2canvas(document.querySelector('.card')).then(canvas => {
const imgUrl = canvas.toDataURL('image/jpeg')
const image = document.createElement('img')
image.src = imgUrl
document.querySelector('.content').appendChild(image)
const a = document.createElement('a')
a.href = imgUrl
a.download = 'study_download'
a.click()
})
}
}
</script>