为了账号安全,请及时绑定邮箱和手机立即绑定

线条比较粗什么原因?

自己写代码 cxt.lineWidth=1;还是比较粗,而且有点模糊,求支招

正在回答

5 回答

我也不知道为什么。<canvas id="canvas0" width="400" height="400"></canvas>   这里的宽和高像你那个写在style中就会出现你的那种问题。如果直接写到width和height属性上就没有问题。你可以js中获取窗口的大小,然后设置canvas 的 width和 height

0 回复 有任何疑惑可以回复我~
#1

湖工咖啡 提问者

果然大神,问题已解决!
2015-12-08 回复 有任何疑惑可以回复我~

.canvas.style.width跟canvas.width(同理,canvas.style.height和canvas.style.height)是两个不同的概念。canvas.style.width是浏览器渲染canvas的尺寸,而canvas.width是canvas的画布大小。所以不要误以为在css里面设置了canvas的尺寸就OK啦。如果没有设置canvas的width和height属性,则其默认值是width:300px,height:150px。


0 回复 有任何疑惑可以回复我~

<canvas id="canvas0" style="width:100%;height:100%;"></canvas>

var canvas=document.getElementById("canvas0");
var HEIGHT=canvas.height;
var WIDTH=canvas.width;
var hdistance=HEIGHT/8;
var wdistance=WIDTH/12;

window.onload=function()
{
   var i;
   /*水平*/
   for(i=1;i<8;i++)
   {
       cxt.save();
       cxt.translate(0.4,0.4);
       cxt.lineWidth=0.4;
       cxt.beginPath();
       cxt.moveTo(0,hdistance*i);
       cxt.lineTo(WIDTH,hdistance*i);
       cxt.closePath();
       if(i==4)
           cxt.strokeStyle="#5F9EA0";
       else
           cxt.strokeStyle="#ADD8E6";
       cxt.stroke();
       cxt.restore();
   }

}

这是改过的  效果还相对舒服点,不过还是没有办法画出比较细的线 求大神指点

0 回复 有任何疑惑可以回复我~

这是canvas里的一个怎么说呢,在绘制奇数宽度的时候它会绘制出 以这个奇数值+1的宽度 但是却是模糊的,并不是只有 lineWidth =1 才有这个问题。

0 回复 有任何疑惑可以回复我~
#1

湖工咖啡 提问者

可是我想画一个比较细的线条怎么办?要细,又不能模糊(ps:我以为 lineWidth =1就是1px,结果并不是这样)
2015-12-08 回复 有任何疑惑可以回复我~
#2

木子舟义 回复 湖工咖啡 提问者

你可以先用translate 再用缩放 scale(sx,sy);
2015-12-08 回复 有任何疑惑可以回复我~

代码呢?

0 回复 有任何疑惑可以回复我~
#1

湖工咖啡 提问者

详见下面的的评论,这里放不下我的代码~
2015-12-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

线条比较粗什么原因?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号