2012-03-29 11 views
1

私はhtml5キャンバスに描画しようとしています。次のコードは左上から右下に対角線を与えます。しかし、私は期待した結果を得られません。コンテキストに必要な変換はありますか? HTMLキャンバスコンテキストの座標が一致しません

<canvas id="myCanvas" style="margin-left:auto; margin-right: 
    auto;width:700px;height:100px;border:1px solid grey"> 
</canvas> 

JS

http://jsfiddle.net/neilghosh/DvjAP/2/

var canvas = $("#myCanvas"); 
var pen = canvas[0].getContext("2d");  
pen.strokeStyle = "#000000"; pen.lineWidth = "2";  
pen.beginPath(); pen.moveTo(700, 100); pen.lineTo(0,0); 
pen.stroke(); 
+0

私は、CSSが動作しない理由を確認してくださいhttp://stackoverflow.com/questions/4397315/html5-canvas-distortedでの回避策を見つけましたが、まだありません。 – SoulMan

答えて

4

jsFiddle demo

奇妙なしかし、真。あなたのCSSスタイルシートで休憩を入れ

<canvas id="myCanvas" width="700" height="100"></canvas> 


:よりよく理解するために

#myCanvas{ 
     margin-left:auto; 
     margin-right: auto; 
     border:1px solid grey 
    } 
  • をH/Wキャンバス要素は次のようにインラインを設定する(だけではなく*)持っています キャンバス要素のW/H値は、デフォルトでは300x150ですが、実際にキャンバスのレンダリングを伸ばすスタイルシート内の値を他の画像と同様に変更すると、
  • あなたWを変更するもう1つの方法/ HのようなJSである:

    キャンバス[0] .width = 700;
    キャンバス[0]。高さ= 100;

Demo

+1

些細な修正:幅と高さの値に 'px'という接尾語を使用しないでください。 HTML5のディメンション値は、接尾辞の付いていないピクセル値か、接尾辞が '% 'のパーセント値です。 –

+0

@Robinそれは本当です!それは速いタイプの(考えられない)エラーかもしれません!言及いただきありがとうございます!更新しました。 –

+0

ありがとう@ RokoC.Buljan! – SoulMan

関連する問題