Я пробовал скрипт для рисования миллиметровой бумаги, как сетки на холсте, из погружения в 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>
И это вывод:
в то время как фактический результат должен быть:
Примечание: меня не беспокоит разница в цвете.что я не понимаю, так это то, почему расстояние между двумя строками составляет ~ 20 пикселей (как проверено инструментом измерения в Firefox) вместо 10 пикселей.Кроме того, при печати значений x он дает правильное значение (то есть увеличивается на 10 каждый раз).