Canvas文本绘制的浏览器差异

今日想通过canvas动态生成图像的方式来替代png资源,但遇到了一些问题。

canvas textBaseline 属性可以设置文本的绘制基线,但在不同浏览器中表现方式略有不一样。

这里指讲middle属性的差异,其他值可自行研究。

当textBaseline被设置为middle后,IE/Chrome/Opera可以正确地将基线设置为字体垂直中心,但Firefox则会略微向上偏离。下面是Chrome和Firefox的对比图:

这里写图片描述

这里写图片描述

如果对基线对准要求特别高,可以采用如下解决方案:

经测量,Firefox中middle对齐方式,100px的字体会相对向上偏移12px,以此类推。
因此只要检测到Firefox浏览器后对canvas进行变换即可:

if(client.engine.gecko!=0){
    context.translate(0,-12);
}

转载于:https://www.cnblogs.com/qs20199/p/4452267.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值