css3 - canvas畫對角線很模糊
問題描述
使用canvas畫一個p的對角線,先算p的width和height,再賦給canvas的width和height,然后建立一個2d畫布開始畫,為什么畫出的斜線很模糊,改成直線就還好?感覺沒有被因為p和畫布的大小不同而放大或縮小
var canvasDom = document.querySelector('.canvas_line'); var w = parseInt($(canvasDom).css('width')); var h = parseInt($(canvasDom).css('height')); canvasDom.width = w; canvasDom.height = h; var context = canvasDom.getContext(’2d’);; context.beginPath(); context.moveTo(0,0); context.lineTo(w, h); context.lineWidth = '1'; context.strokeStyle = 'red'; context.stroke();
問題解答
回答1:如果你使用的設(shè)備太高清了,你可以嘗試下這樣的操作:
對canvas使用css樣式(style屬性)來確定在頁面內(nèi)的高寬
設(shè)置canvas的width和height屬性的值為css樣式的高寬的2倍
開始享受你的繪圖
回答2:嘗試 moveTo(0.5,0.5);
回答3:找到一篇文章,希望對你有幫助:HTML5 Canvas 如何取消反鋸齒繪圖
回答4:樓主你好,你需要在canvas元素里面給width和height屬性。如果你在css里面定義canvas的width和height就會出現(xiàn)線條模糊的情況,因此你的更改JS
原:var w = parseInt($(canvasDom).css('width')); 改:var w = parseInt($(canvasDom).style('width'));
同理,height部分也需要這樣改動
相關(guān)文章:
1. python - scrapy 如何組合2個不同頁面的數(shù)據(jù),一并存儲2. mysql優(yōu)化 - mysql 一張表如果不能確保字段列長度一致,是不是就不需要用到char。3. node.js - mysql如何通過knex查詢今天和七天內(nèi)的匯總數(shù)據(jù)4. javascript - 用jsonp抓取qq音樂總是說回調(diào)函數(shù)沒有定義5. javascript - 新浪微博網(wǎng)頁版的字?jǐn)?shù)限制是怎么做的6. sublime可以用其他編譯器替換嗎?7. python2.7 - python 函數(shù)或者類 代碼的執(zhí)行順序8. 使用python中的pandas求每個值占該列的比例9. python - 多態(tài)調(diào)用方法時卻顯示bound method...10. mysql 怎么做到update只更新一行數(shù)據(jù)?
