fla转为html canvas,使用html2canvas将html转为图片

使用html2canvas将html转为图片,网上找的解决清晰度问题大多存在最后生成的图片错位或者偏移问题。

布局html,其中#img-dom为待转换的html内容,.banner-canvas为输出位置。

下面是js代码

// 获取待转换内容 & 创建canvas

var _canvas = document.getElementById('img-dom');

var canvas = document.createElement("canvas");

// 获取原始内容的宽高,以及缩放比例

var width = _canvas.offsetWidth;

var height = _canvas.offsetHeight;

var scale = window.devicePixelRatio;

// 设置canvas的宽高(缩放后的)

canvas.width = width * scale;

canvas.height = height * scale;

// 获取canvas的2d绘图的环境

var context = canvas.getContext("2d");

// 获取内容的相对于视口的位置

var rect = _canvas.getBoundingClientRect();

// 设置缩放 & 设置偏移

context.scale(scale, scale);

context.translate(-rect.left, -rect.top);

// 将HTML生成图片

html2canvas(document.getElementById('img-dom'), {

allowTaint: true, // 允许跨域

useCORS: true, // 允许跨域

canvas: canvas,

}).then(function (canvas) {

var imgSrc = canvas.toDataURL('image/png', 1);

$('.banner-title').remove();

$('.banner-canvas').append(`%24%7BimgSrc%7D`);

$('.banner-canvas img').css({

"height": height + "px",

"width": width + "px",

});

});

参考文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值