无法获得我画布的准确尺寸

时间:2012-11-20 01:46:04

标签: javascript css html5

我不知道为什么,但我的JS不会返回我的画布尺寸的正确值。

我有这个来获取值:

temp = document.getElementById('myCanvas');
canvas = new Array();
canvas['width'] = temp.width;
canvas['height'] = temp.height;

我的CSS& HTML是:

//html
<canvas id="myCanvas" class="c"></canvas>

//related css
.c{
    width:100%;
    margin:0 auto;
    height:500px;
    background-color:green;
    position:absolute; 
    left: 0; 
    top: 0;
    border:1px solid red;
}

数组的结果显示:

width: 300, height: 150

如果CSS将其设置为500px并且在屏幕上显示为500px,则这可能不正确。为什么会这样?

1 个答案:

答案 0 :(得分:1)

这是正确的尺寸!

通过在CSS中设置画布尺寸,您没有更改画布的逐像素大小。它仍然是默认的300x150,你只需拉伸像素。如果在拉伸的画布上绘制圆圈,则可以验证这一点:您将获得一个椭圆。最好直接更改canvas标签的width和height属性,而不是CSS。

SourceExample