0
A
回答
2
是,這些單位總是像素並應用到位 canvas元素使用。但是,如果在使用CSS的元素上沒有定義大小(即style
屬性或使用樣式表),則該元素將自動採用其位圖的大小。
沒有其他方式設置位圖的大小比像素的數量。使用CSS只會改變元素本身的大小,而不是位圖,擴展任何繪製到位圖以適應元素的大小。
要使用其他單位,你將不得不手動計算這些使用JavaScript,例如:
// using % of viewport for canvas bitmap (pixel ratio not considered)
var canvas = document.getElementById("myCanvas"),
vwWidth = window.innerWidth,
vwHeight = window.innerHeight,
percent = 60;
canvas.width = Math.round(vwWidth * percent/100); // integer pixels
canvas.height = Math.round(vwHeight * percent/100);
// not to be confused with the style property which affects CSS, ie:
// canvas.style.width = "60%"; // CSS only, does not affect bitmap
如果你想支持視網膜,那麼你需要使用window.devicePixelRatio
與大小相乘。在這種情況下,CSS也是必要的(與上面的代碼結合):
var pxRatio = window.devicePixelRatio || 1,
width = Math.round(vwWidth * percent/100),
height = Math.round(vwHeight * percent/100);
canvas.width = width * pxRatio;
canvas.height = height * pxRatio;
canvas.style.width = width + "px";
canvas.style.height = height + "px";
0
HTML5中的幾乎所有尺寸參數都將以像素爲單位。如果您遇到繪圖畫布與您當前密碼的問題,請嘗試取得了自閉塊結尾:
<canvas id="myCanvas" width="200" height="300"></canvas>
您也可以考慮觀察canvas元素的屬性由W3學校的定義: http://www.w3schools.com/html/html5_canvas.asp
0
使用CSS來設置你的畫布風格
<canvas id="el"></canvas>
<style>
#el{
display: block;
width:100%;
height: 100%;
}
</style>
相關問題
- 1. HTML5畫布高度和寬度屬性
- 2. HTML5畫布100%的高度和寬度
- 3. 畫布高度和寬度
- 4. HTML5畫布高度和寬度100%扭曲遊戲動畫
- 5. HTML5:畫布圈爲橢圓形,因爲寬度和高度
- 6. 規模HTML5畫布div的寬度和高度
- 7. 如何獲取HTML5畫布的寬度和高度?
- 8. 畫布高度和寬度問題
- 9. 裁剪畫布/導出具有一定寬度和高度的html5畫布
- 10. HTML5帆布100%寬度視口高度?
- 11. HTML5畫布和線條寬度
- 12. 設置寬度/高度時,在HTML5畫布中禁用重置
- 13. 綁定表到畫布高度寬度
- 14. 縮放保留寬高比的HTML5畫布寬度
- 15. HTML5 <video>寬度和高度
- 16. 設置HTML5畫布高度和寬度並且具有縮放內容
- 17. 鈦ImageView的動畫寬度和高度
- 18. 梯度HTML5畫布
- 19. HTML5畫布風格高度vs屬性高度
- 20. angular.js - 設置陣列的寬度和高度farbricjs畫布
- 21. 設置自定義視圖的畫布寬度和高度Android
- 22. 如何使寬度和高度畫布等於Iphone
- 23. 畫布寬度和高度以像素爲單位
- 24. 將畫布劃分爲相同寬度和高度的空格
- 25. 將畫布放大到父寬度和高度
- 26. 如何增加Photoshop Sprite的畫布寬度和高度
- 27. 可繪製:瞭解畫布寬度和高度
- 28. 如何測量具有自動高度和寬度的畫布
- 29. drawimage到一個已確定的畫布寬度和高度
- 30. XTK改變畫布的高度和寬度
非常感謝! – AlonAlon 2014-11-24 20:23:04