android canvas防模糊,解决canvas在移动端上绘制模糊的问题

在移动端上,使用canvas绘制图片或者是文字等东西都会莫名其妙的产生模糊或者锯齿出现,对于比较讲究的人来说,这是不可容忍的,下面介绍如何解决绘制模糊的问题

这是未经模糊处理前的代码

//画文字

var canvas=doucument.getElementById("canvas");

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

ctx.beginPath();

ctx.font="12px normal";

ctx.fillStyle="#999";

ctx.fillText("我是不是模糊的",10,20);

这样画出来的文字,在电脑上看大多没有问题,但是放到移动端一看,就会出现模糊的情况,至于为何会出现模糊,这里不做深究。

下面是解决方案

1 首先设置canvas的宽度和高度是原来的2倍

2 使用ctx.scale(2,2)设置绘制的东西也放大2倍

3 在canvas的父元素上使用缩放,使用css3的 transform:scale(0.5,0.5)即可,意思为缩放到原来的2倍大小,和canvas放大两倍刚好抵消掉。

#parent{

transform:scale(0.5,0.5);//父元素缩小两倍

zoom:0.5;

}

  //设置大小为原来的2倍

//画文字

var canvas=doucument.getElementById("canvas");

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

ctx.scale(2,2);//绘制也放大两倍

ctx.beginPath();

ctx.font="12px normal";

ctx.fillStyle="#999";

ctx.fillText("我是不是模糊的",10,20);

这样经过三个步骤之后,基本上就可以解决在移动端上模糊的问题了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值