私はキャンバス上にグリッドのようなグラフ用紙をhtml5に描画するスクリプトを試していました。結果は、サイド10pxの四角形を含むメッシュを描画することになっていますが、正方形ではなく、約20pxのサイズを取得しています。
はここで `、キャンバスが意図したとおりに動作しない
<html>
<head>
<style>
body{
margin: 20px 20px 20px 20px;
}
canvas{
width: 500px;
height: 375px;
border: 1px solid #000;
}
</style>
<script type="text/javascript">
function activate(){
var canvas =document.getElementById("exp");
var context = canvas.getContext("2d");
for (var x=0.5;x<500;x+=10){
context.moveTo(x,0);
context.lineTo(x,375);
console.log(x);
}
for (var y=0.5;y<375;y+=10){
context.moveTo(0,y);
context.lineTo(500,y);
}
context.strokeStyle="#000";
context.stroke();
}
</script>
</head>
<body>
<canvas id="exp"><script type="text/javascript">activate();</script></canvas>
</body
</html>
コードであり、これが出力されます:
実際の出力がされるべきである:
注:私は色の違いについて心配していません。私が理解していないのは、2行の間のスペースが10pxではなく20px(firefox上の測定ツールでチェックされているように)である理由です。
また、xの値を印刷すると、正しい値(毎回10ずつインクリメント)が得られます。
'