1、安装

npm i html2canvas

2、使用

<template>
	<el-card class="mb15">
		<template #header>
			<span>html2canvas</span>
		</template>
        <img width="480" height="16" :src="base64img" alt="">
    </el-card>
</template>

<script setup lang="ts" name="demoView">
import {  ref, onMounted } from 'vue';
import html2canvas from 'html2canvas';

/*
    html2canvas
        第一个参数是要截图的dom元素
        第二个参数是个对象
            {
                allowTaint: 
                background: canvas背景颜色,默认为透明
                width: canvas宽度
                height: canvas高度
                letterRendering: 在设置了字间距的时候有用
                logging: 在console.log()中输出信息
                proxy: 代理地址
                taintTest: 是否在渲染前测试图片
                timeout: 图片加载延迟,默认延迟为0,单位毫秒
                useCORS: 
            }
    
*/
const base64img = ref()
onMounted(() => {
	html2canvas(document.querySelector(".file-item")).then((canvas) => {
        // 转换成base64格式,这个格式可以挂载到img里,也可以下载下来,也可以打压缩包下载下来
        const base64 = canvas.toDataURL().replace(/^data:image\/(png|jpg);base64,/, '')
        base64img.value = `data:image/png;base64,${base64}`
        console.log(base64img.value);
	});
});
</script>

<style lang="scss" scoped></style>

3、打印出base64

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐