解決canvas畫布使用fillRect()時高度出現(xiàn)雙倍效果的問題
當設置canvas的寬度和高度時,只有內(nèi)嵌css有效,外部css會出現(xiàn)拉伸的情況,例如:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> window.onload=function(){ var canvas=document.getElementById('canvas').getContext('2d'); canvas.fillRect(50,50,50,50); } </script> <style> body{ background: #000; } #canvas{ width: 300px; height: 400px; background:#fff; } </style> </head> <body> <canvas id="canvas"> <span>不支持canvas標簽</span> </canvas> </body> </html>
顯示情況如下:
該效果與我們預想的不同,此時有兩種修改方案:
(1) 在代碼js中添加設置寬高屬性的代碼設置寬度和高度:
canvas.setAttribute("height",canvas.clientHeight); canvas.setAttribute("width",canvas.clientWidth);
(2) 除去外部css中設置寬高屬性的代碼,給canvas標簽直接添加寬度和高度屬性:
<canvas id="canvas" width="300" height="400" > <span>不支持canvas標簽</span> </canvas>
最后顯示效果如下:
以上這篇解決canvas畫布使用fillRect()時高度出現(xiàn)雙倍效果的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
js 利用image對象實現(xiàn)圖片的預加載提高訪問速度
我們來學習一種名為圖像預裝載(image preloading)的小技巧來提高圖像訪問速度,一些瀏覽器試圖通過在本地緩存中保存這些圖片來解決此問題,感興趣的朋友可以了解下2013-03-03javascript中setTimeout和setInterval的unref()和ref()用法示例
本文通過一個小例子想大家講解了setTimeout和setInterval的unref()和ref()用法和使用環(huán)境,代碼很簡潔,有需要的小伙伴自己參考下吧。2014-11-11Bootstrap面板(Panels)的簡單實現(xiàn)代碼
這篇文章主要為大家詳細介紹了Bootstrap面板(Panels)的簡單實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03javascript結合fileReader 實現(xiàn)上傳圖片
FileReader具體支持哪些方法和事件,這里就不介紹了,有興趣的可以去w3c官網(wǎng)上看看FileReader介紹,這里主要介紹一下FileReader常見應用,以及fileReader 實現(xiàn)上傳圖片示例分享。2015-01-01javascript table排序 這個更簡單了,不用改變現(xiàn)在的表格結構
另外一個table排序,這個更簡單了,不用改變現(xiàn)在的表格結構,來自國外的代碼。2010-04-04