亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

線條比較粗什么原因?

自己寫代碼 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
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號