我在向一个画布添加多个绘图时遇到问题。我做了一些例子: https://jsfiddle.net/ym5q9ktp/
HTML:
aaa
bbb
ccc
dd dd
eee
fff
gg
hhhhh
JS:
<canvas id="myCanvas" width="240" height="297" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.
</canvas>
代码没有在js代码的最后一行中绘制第二条红线。如何解决?
答案 0 :(得分:0)
这个JS将完全绘制红线(或者主要是;取决于你想要它的位置。)(Live Fiddle):
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var draw = function(var1, var2, var3, var4) {
ctx.beginPath();
ctx.moveTo(var1, var2);
ctx.lineTo(var3, var4);
ctx.stroke();
}
draw(0, 0, 200, 50)
draw(0, 10, 200, 60)
draw(15, 56, 200, 150)
//这会调用draw()函数绘制每一行
代码中的draw()
函数采用您设置的4个参数。
最好以相同的方式绘制黑线,即将其从功能中取出或将其从功能中取出,并为黑线添加另一个draw()调用。
15 =顶部X轴,56 =顶部Y轴,200 =底部X轴,150 =底部Y轴
您还可以为您的函数添加另一个颜色参数:
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var draw = function(var1, var2, var3, var4, color) {
ctx.beginPath();
ctx.strokeStyle = color; // Takes the fifth param "color"
ctx.moveTo(var1, var2);
ctx.lineTo(var3, var4);
ctx.stroke();
}
draw(0, 0, 200, 50, "red")
draw(0, 10, 200, 60, "black")