使用jquery更改画布坐标
使用jquery,坐标会按大于标准画布大小的比例放大(例如100=>170+)。哪里出错了?更新:在第二个示例中,d是canvas元素,因此您可以设置其宽度和高度。在第一个示例中,d[0]是实际的画布元素,您应该为d[0]设置宽度和高度。 查看工作示例: 旧版: 一切都很顺利,如果在jQuery版本中,insead of:使用jquery更改画布坐标,jquery,canvas,Jquery,Canvas,使用jquery,坐标会按大于标准画布大小的比例放大(例如100=>170+)。哪里出错了?更新:在第二个示例中,d是canvas元素,因此您可以设置其宽度和高度。在第一个示例中,d[0]是实际的画布元素,您应该为d[0]设置宽度和高度。 查看工作示例: 旧版: 一切都很顺利,如果在jQuery版本中,insead of: //JQUERY d = $("#gpart"); w = 512; h = 326; d.width(w); d.height(h);
//JQUERY
d = $("#gpart");
w = 512; h = 326;
d.width(w);
d.height(h);
$ctx = d[0].getContext("2d");
$ctx.beginPath();
$ctx.moveTo(100, 0);
$ctx.lineTo(100, 100);
$ctx.lineWidth = 1;
$ctx.strokeStyle = '#bbbbbb';
$ctx.stroke();
})
//PLAIN
d = document.getElementById("gpart");
d.width = 512;
d.height = 326;
ctx = d.getContext("2d");
ctx.beginPath();
ctx.moveTo(100, 0);
ctx.lineTo(100, 100);
ctx.lineWidth = 1;
ctx.strokeStyle = '#bbbbbb';
ctx.stroke();
(以像素为单位设置画布的css宽度和高度)
您使用:
d.width(w);
d.height(h);
对于canvas元素,width和height属性指定canvas API使用的坐标系的大小,而CSS width和height指定在页面上绘制的canvas元素的大小
d.attr('width',w);
d.attr('height',h);