【发布时间】:2016-03-04 00:03:37
【问题描述】:
window.onload=function(){
var c = document.getElementById('canvas'),
ctx = c.getContext('2d'),
x=0, y=0, cnt=1;
for(var i=0;i<(window.innerWidth)/10;i++){
ctx.moveTo(x, y); x+=5;
if(cnt%2){
y=5; cnt++;
ctx.lineTo(x, y);ctx.stroke();
}else{
y=0; cnt++;
ctx.lineTo(x, y);ctx.stroke();
}
}
}
<canvas id="canvas" style="width:100%; height:250px"></canvas>
如果你运行上面的代码,那么锯齿形图案中线条的分辨率如果很好,但是在这里你可以看到这个图案的分辨率很差(请点击这个图片查看这个问题):
我尝试过的是我将条件(window.innerWidth)/10 更改为(winodw.innerWidth)/4 和x+=5 更改为x+=2
但它的作用是让线条变得如此粗大和糟糕,以至于你不想看到它。
那么,我应该怎么做才能提高图案线条的分辨率?
【问题讨论】:
-
尝试为
canvas元素设置height或者使用内联width-height属性(不是css)或者使用JavaScript