用用户输入在Canvas中绘制一条线
Drawing a line in Canvas with user input
当用户给出X和Y坐标时,我试图在Canvas中画一条线。这是我目前得到的。我可以得到画布和输入框但它不会画出来。我是个新手,任何建议都很感谢。
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var x1 = document.getElementById("x1").value;
var x2 = document.getElementById("x2").value;
var y1 = document.getElementById("y1").value;
var y2 = document.getElementById("y2").value;
function draw(){
context.beginPath();
context.moveTo(x1.value,y1.value);
context.lineTo(x2.value,y2.value);
context.stroke();
}
</script>
<br><br>
<h1>Draw a Line</h1>
X-coordinate 1 <input type="text" id="start_x"><br><br>
Y-coordinate 1<input type="text" id="start_y"><br><br>
X-coordinate 2<input type="text" id="end_x"><br><br>
Y-coordinate 2<input type="text" id="end_y"><br><br>
<input type="button" value="draw" onclick="draw()">
它给你undefined因为你设置你的输入id为start_x start_y end_x end_y在你的js中你得到的值为x1 x2 y1 y2
html<canvas id="myCanvas" width="200" height="200" style="border:1px solid #000000;">
</canvas>
<h1>Draw a Line</h1>
<form>
X-coordinate 1 <input type="text" id="start_x"><br><br>
Y-coordinate 1<input type="text" id="start_y"><br><br>
X-coordinate 2<input type="text" id="end_x"><br><br>
Y-coordinate 2<input type="text" id="end_y"><br><br>
<input type="button" value="draw" onclick="draw()">
</form>
js
function draw(){
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var x1 = document.getElementById("start_x").value;
var x2 = document.getElementById("start_y").value;
var y1 = document.getElementById("end_x").value;
var y2 = document.getElementById("end_y").value;
context.beginPath();
context.moveTo(x1,x2);
context.lineTo(y1,y2);
context.stroke();
}
这样重写你的代码;
<canvas width="300" height="300" id="myCanvas"></canvas><br /><br />
X-coordinate 1<input type="text" id="x1"><br><br>
Y-coordinate 1<input type="text" id="y1"><br><br>
X-coordinate 2<input type="text" id="x2"><br><br>
Y-coordinate 2<input type="text" id="y2"><br><br>
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
function draw(){
var x1 = document.getElementById("x1").value;
var x2 = document.getElementById("x2").value;
var y1 = document.getElementById("y1").value;
var y2 = document.getElementById("y2").value;
context.beginPath();
context.strokeStyle="#FF0000";
context.moveTo(x1,y1);
context.lineTo(x2,y2);
context.stroke();
}
</script>
<br><br>
<h1>Draw a Line</h1>
<input type="button" value="draw" onclick="draw()">
您的draw
函数称为onclick
,但该函数使用input
value
设置为'未定义',因为当窗口加载input
的值时未定义,要解决这个问题,您应该包括您在draw
函数中获取这些值的代码。
相关文章:
- 在地图上画一条路线
- D3 - 在两个不与其他对象相交的对象之间绘制一条线
- 在滚动上绘制一条曲线虚线 SVG
- 操作方法:将鼠标悬停在图像上并制作动画绘制一条线,说明淡出
- 在 HTML5 Canvas 中沿着一条线的方程式绘制
- Box2dweb绘制一条静态线
- 如何绘制多条线,数组的每个元素一条线包含vega规范数据中的y值
- 用java脚本绘制一条弧线,但它没有;t出现
- HighCharts:如何在多个轴上绘制一条直线,如具有不同值的固定X轴的plotLines
- 在Pixi.js中绘制一条线的动画
- RaphaelJS:在另一个SVG元素上绘制一条路径
- D3:是否可以根据阈值绘制一条线并将其分配给两个轴
- 如何在openlayer3中从纵向/纵向绘制一条线
- 使用JS绘制一条水平线
- 用用户输入在Canvas中绘制一条线
- Touchmove在画布上绘制两条线而不是一条线
- 如何使用jQPlot在yaxis=0处绘制一条线
- 在两个图元之间绘制一条连接线
- 使用fabric.js在画布上绘制一条线的动画
- 绘制一条连接数据点的线