2

理由はわかりませんが、私の 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 として表示される場合、これは正しくありません。これはなぜでしょうか?

4

1 に答える 1

1

これが正しいサイズです!

CSS でキャンバスの寸法を設定しても、キャンバスのピクセル単位のサイズは変更されません。デフォルトの 300x150 のままで、ピクセルを引き伸ばしただけです。引き伸ばされたキャンバスに円を描くと、これを確認できます。楕円が得られます。CSS ではなく、canvas タグの幅と高さの属性を直接変更することをお勧めします。

ソース

于 2012-11-20T02:14:33.950 に答える