哪里有問題?? 畫出來的線完全不對了
var canvas=document.getElementById('canvas'); var ctx=canvas.getContext('2d'); ctx.moveTo(0,0); ctx.lineTo(450,450); ctx.stroke() 哪里有問題?? 畫出來的線完全不對了
var canvas=document.getElementById('canvas'); var ctx=canvas.getContext('2d'); ctx.moveTo(0,0); ctx.lineTo(450,450); ctx.stroke() 哪里有問題?? 畫出來的線完全不對了
2016-10-20
舉報
2016-10-24
畫線畫成這樣的畫,那就是你對canvas寬度和高度設置的問題了。
????WC3標準:canvas寬度和高度 在HTML中通過標簽屬性的方法進行設置。如下:
????<canvas?id="canvas"?height="450px"?width="450px"></canvas>
????你出現畫布的寬高正常,而在執行繪圖操作時對寬高識別錯誤,主要問題在于,你的canvas畫布的寬高是通過CSS?樣式設置的。
錯誤的注意原因:通過css對canvas畫布寬高設置, canvs畫布本身也是一個html標簽,所以在畫布的顯示上是沒有問題的,但是我們執行繪圖操作使用的是?var context = canvas.getContext('2d'); ?canvas上下文對象,而這個對象無法識別css中的寬高,所以會出現這樣的錯誤。
解決方法有兩個:
? ? 方法一:???
????????html設置:<canvas?id="canvas"?height="450px"?width="450px"></canvas>
????????在html中使用標簽屬性的方法設置canvas標簽的寬和高。
????方法二:
????????在JS中設置:
????????var canvas = document.getElementById('canvas');
????????//設置調用canvas對象屬性分別設置的寬度和高度
????????canvas.width = 450;
????????canvas.height = 450;
2017-08-30
我的也是這樣
2016-10-23
2016-10-21
JS代碼部分:
HTML代碼部分:
CSS代碼部分:
案例圖片:
完整的案例代碼,希望對你有用。
2016-10-21
你查下HTML代碼里面的canvas id屬性是否和你JS找對象時用的id一致,<canvas id="canvas" height="450px" width="450px"></canvas>,測試了,你js代碼部分是沒有錯誤的。