canvas:html2canvas的使用

安装

npm install html2canvas

基本使用

import html2canvas from 'html2canvas'

export default () => {
    const savePic = () => {
        const targetDom = document.getElemetById('picture');
        html2canvas(targetDom, {
            // 可配置项放在这里
            scale: 1, // 渲染的比例
        })
            .then(canvas => canvas.toDataURL('image/png', 1.0))
            .then(src => image.src = src)
            .catch(err => console.log(err.message))
    }
    
    return (
        <div id='picture'>
            <img src='xxx'/>
            <img src='yyy'/>
        </div>
    )
}

如何提高图片清晰度

方法一:添加html2canvas配置项

html2canvas(targetDom, {
    // 可配置项放在这里
    scale: 4, // 提高渲染的比例
    dpi: window.devicePixelRatio // 分辨率
})

window.devicePixelRatio:显示设备的物理像素分辨率与css像素分辨率之比
值为 1.25 表示 1.25 × 96 dpi

方法二:调整canvas.toDataURL()参数

在这里插入图片描述

canvas => canvas.toDataURL('image/png', 1.0)

toDataURL(type, encoderOptions)方法的两个参数:

  • type:‘image/jpeg’,‘image/png’,‘image/webp’
  • encoderOptions:转换为base64编码后图片的质量,取值范围为0~1

参考

HTML2CANVAS 中文文档

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值