回答
這可能是值得考慮的一個教程:Firefox Canvas Tutorial
您可以通過訪問該元素的那些屬性得到了canvas元素的寬度和高度。例如:
var canvas = document.getElementById('mycanvas');
var width = canvas.width;
var height = canvas.height;
上下文是您從畫布中獲取的對象,以便您可以將其繪製到該對象中。
上下文對象允許您操作畫布;你可以繪製矩形例如更多。
如果你想獲得的寬度和高度,你可以使用標準的HTML屬性width
和height
:
var canvas = document.getElementById('yourCanvasID');
var ctx = canvas.getContext('2d');
alert(canvas.width);
alert(canvas.height);
這個回答與@ andrewmu's非常相似,並且如果您的大小通過CSS的畫布。看到[我的答案](http://stackoverflow.com/questions/4032179/how-do-i-get-the-width-and-height-of-a-html5-canvas/31195651#31195651)爲更強大解。 – 2015-07-02 22:26:45
嘛,是不完全正確的所有問題的答案之前。主要瀏覽器中的2個不支持這兩個屬性(IE是其中之一),或者以不同的方式使用它們。
更好的解決方案(大多數瀏覽器都支持,但我沒有檢查Safari瀏覽器):
var canvas = document.getElementById('mycanvas');
var width = canvas.scrollWidth;
var height = canvas.scrollHeight;
至少我得到scrollWidth和 - 高度正確的價值觀和必須設置canvas.width和高度時,它是調整大小。
IE9的確支持canvas.width和height(好的,9之前的版本根本不支持canvas),我剛剛給它一下。你遇到了什麼麻煩?另一個主要的瀏覽器是哪一個? – thomanski 2012-12-30 00:11:19
對,我真的永遠不會更新IE,因爲我不使用它。另一個主要的瀏覽器是Opera在調整大小時沒有/沒有更新寬度和高度。 – Bitterblue 2013-01-03 10:17:50
canvas.width/height在firefox中不起作用 – schwiz 2013-02-14 18:30:43
現在開始2015年,所有(主要?)瀏覽器似乎alow c.width
和c.height
得到畫布內部大小,但:
的答案missleading的問題,因爲帆布已原則上2不同/獨立的尺寸。
的「HTML」可以說,CSS寬度/高度和它自己的(屬性 - )寬度/高度
看看這個short example of different sizing,在這裏我把200/200帆布爲300/100 HTML元素
大多數例子(我看到的都是)沒有css大小的設置,所以它會得到(繪圖)大小的寬度和高度。但是這不是必須的,並且如果你採取了錯誤的尺寸 - 即可以產生有趣的結果。 css widht /內部定位的高度。
提及canvas.width
的答案返回畫布的內部尺寸,即那些在創建元素時指定:
<canvas width="500" height="200">
如果大小與CSS畫布,它的DOM尺寸通過.scrollWidth
和.scrollHeight
可訪問:
var canvasElem = document.querySelector('canvas');
document.querySelector('#dom-dims').innerHTML = 'Canvas DOM element width x height: ' +
canvasElem.scrollWidth +
' x ' +
canvasElem.scrollHeight
var canvasContext = canvasElem.getContext('2d');
document.querySelector('#internal-dims').innerHTML = 'Canvas internal width x height: ' +
canvasContext.canvas.width +
' x ' +
canvasContext.canvas.height;
canvasContext.fillStyle = "#00A";
canvasContext.fillText("Distorted", 0, 10);
<p id="dom-dims"></p>
<p id="internal-dims"></p>
<canvas style="width: 100%; height: 123px; border: 1px dashed black">
我,因爲有一個問題我的畫布是在一個沒有ID的容器裏面,所以我用下面的這個jQuery代碼
$('.cropArea canvas').width()
- 1. HTML5畫布100%的高度和寬度
- 2. HTML5畫布高度和寬度屬性
- 3. HTML5:畫布寬度和高度
- 4. 畫布高度和寬度
- 5. 獲取寬度和高度的佈局
- 6. HTML5畫布高度和寬度100%扭曲遊戲動畫
- 7. 獲取畫布元素的正確寬度和高度
- 8. 規模HTML5畫布div的寬度和高度
- 9. HTML5:畫布圈爲橢圓形,因爲寬度和高度
- 10. 裁剪畫布/導出具有一定寬度和高度的html5畫布
- 11. 獲取高度和寬度
- 12. 畫布高度和寬度問題
- 13. 獲取畫布中兩個選定點的寬度/高度
- 14. HTML5帆布100%寬度視口高度?
- 15. HTML5畫布和線條寬度
- 16. Android |獲取屏幕高度,寬度和屏幕寬度,高度
- 17. 如何增加Photoshop Sprite的畫布寬度和高度
- 18. 如何測量具有自動高度和寬度的畫布
- 19. 如何獲取Canvas的寬度/高度?
- 20. 使用JavaScript獲取HTML5視頻的寬度和高度?
- 21. 獲取畫布高度或寬度時程序崩潰
- 22. 設置寬度/高度時,在HTML5畫布中禁用重置
- 23. 縮放保留寬高比的HTML5畫布寬度
- 24. 如何使寬度和高度畫布等於Iphone
- 25. 獲取圖像的寬度和高度
- 26. 獲取文檔的寬度和高度
- 27. 獲取UIElement的高度和寬度?
- 28. 獲取圖像的寬度和高度
- 29. 獲取applet的高度和寬度
- 30. 獲取iframe的高度和寬度
請注意,不幸的是,Mozilla教程現在基本上是一堆斷開的鏈接。希望他們有一天能解決它。 – 2013-06-18 12:05:47
這將返回Chrome 31中的上下文畫布大小。 – shuji 2013-12-03 04:09:40
只有當width和height被直接指定爲標籤屬性 – vladkras 2017-03-07 14:40:24