Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在画布上生成线不';I don’我没有按预期工作_Javascript_Html_Canvas - Fatal编程技术网

Javascript 在画布上生成线不';I don’我没有按预期工作

Javascript 在画布上生成线不';I don’我没有按预期工作,javascript,html,canvas,Javascript,Html,Canvas,我创建了一个简单的脚本,它将在画布上生成一行。我想要实现的是让它从画布的中间开始,在画布的一个随机点结束 下面是一个演示: const c=document.getElementById(“canvas”); 设ctx=c.getContext(“2d”); var x=window.getComputedStyle(c).width; var _y=window.getComputedStyle(c).height; //获取画布大小 var x=(c.width=Number(x.subs

我创建了一个简单的脚本,它将在画布上生成一行。我想要实现的是让它从画布的中间开始,在画布的一个随机点结束

下面是一个演示:

const c=document.getElementById(“canvas”);
设ctx=c.getContext(“2d”);
var x=window.getComputedStyle(c).width;
var _y=window.getComputedStyle(c).height;
//获取画布大小
var x=(c.width=Number(x.substring(0,x.length-2));
变量y=(c.height=Number(_y.substring(0,_y.length-2));
//将变量从字符串转换为int
函数getRandomPoint(x,y){
//在画布中生成随机点
var px=Math.floor(Math.random()*x);
var py=Math.floor(Math.random()*y);
变量线=[px,py];
回流线;
}
var cord=getRandomPoint(x,y);
createLine(x,y,跳线[0],跳线[1]);
函数createLine(x,y,xk,yk){
ctx.beginPath();
ctx.moveTo(x/2,y/2);
ctx.lineTo(xk,yk);
ctx.stroke();
}
*{
保证金:0;
填充:0;
框大小:边框框;
}
正文,html{
宽度:100%;
身高:100%;
}
身体{
背景色:#F2F2;
}
/*帆布*/
帆布{
高度:400px;
宽度:600px;
保证金:20px自动;
背景色:白色;
显示:块;
边框:1px实心#999;
}

您就快到了,只是忘记了将宽度和高度添加到画布HTML节点

<canvas id="canvas" height=400 width=600></canvas>

您就快到了,只是忘记了将宽度和高度添加到画布HTML节点

<canvas id="canvas" height=400 width=600></canvas>

您忘记在html属性中输入画布的宽度和高度:

const c=document.getElementById('canvas');
设ctx=c.getContext('2d');
//获取画布大小
var x=window.getComputedStyle(c).width;
var y=window.getComputedStyle(c).height;
//将变量从字符串转换为int
x=数字(x.子字符串(0,x.长度-2));
y=数字(y.子串(0,y.长度-2));
函数getRandomPoint(x,y){
//在画布中生成随机点
px=Math.floor(Math.random()*x);
py=数学地板(数学随机()*y);
跳线=[px,py];
回流线;
}
var cord=getRandomPoint(x,y);
createLine(x,y,跳线[0],跳线[1]);
函数createLine(x,y,xk,yk){
ctx.moveTo(x/2,y/2);
ctx.lineTo(xk,yk);
ctx.stroke();
}
*{
保证金:0;
填充:0;
框大小:边框框;
}
正文,html{
宽度:100%;
身高:100%;
}
身体{
背景色:#F2F2;
}
/*帆布*/
帆布{
高度:400px;
宽度:600px;
保证金:20px自动;
背景色:白色;
显示:块;
边框:1px实心#999;
}

您忘记在html属性中输入画布的宽度和高度:

const c=document.getElementById('canvas');
设ctx=c.getContext('2d');
//获取画布大小
var x=window.getComputedStyle(c).width;
var y=window.getComputedStyle(c).height;
//将变量从字符串转换为int
x=数字(x.子字符串(0,x.长度-2));
y=数字(y.子串(0,y.长度-2));
函数getRandomPoint(x,y){
//在画布中生成随机点
px=Math.floor(Math.random()*x);
py=数学地板(数学随机()*y);
跳线=[px,py];
回流线;
}
var cord=getRandomPoint(x,y);
createLine(x,y,跳线[0],跳线[1]);
函数createLine(x,y,xk,yk){
ctx.moveTo(x/2,y/2);
ctx.lineTo(xk,yk);
ctx.stroke();
}
*{
保证金:0;
填充:0;
框大小:边框框;
}
正文,html{
宽度:100%;
身高:100%;
}
身体{
背景色:#F2F2;
}
/*帆布*/
帆布{
高度:400px;
宽度:600px;
保证金:20px自动;
背景色:白色;
显示:块;
边框:1px实心#999;
}

您需要在javascript中声明画布的宽度和高度

const c=document.getElementById(“canvas”);
设ctx=c.getContext(“2d”);
var x=window.getComputedStyle(c).width;
var _y=window.getComputedStyle(c).height;
//获取画布大小
//将变量从字符串转换为int
var x=(c.width=Number(x.substring(0,x.length-2));
变量y=(c.height=Number(_y.substring(0,_y.length-2));
函数getRandomPoint(x,y){
//在画布中生成随机点
var px=Math.floor(Math.random()*x);
var py=Math.floor(Math.random()*y);
变量线=[px,py];
回流线;
}
var cord=getRandomPoint(x,y);
createLine(x,y,跳线[0],跳线[1]);
函数createLine(x,y,xk,yk){
ctx.beginPath();
ctx.moveTo(x/2,y/2);
ctx.lineTo(xk,yk);
ctx.stroke();
}
*{
保证金:0;
填充:0;
框大小:边框框;
}
正文,html{
宽度:100%;
身高:100%;
}
身体{
背景色:#F2F2;
}
/*帆布*/
帆布{
高度:400px;
宽度:600px;
保证金:20px自动;
背景色:白色;
显示:块;
边框:1px实心#999;
}

您需要在javascript中声明画布的宽度和高度

const c=document.getElementById(“canvas”);
设ctx=c.getContext(“2d”);
var x=window.getComputedStyle(c).width;
var _y=window.getComputedStyle(c).height;
//获取画布大小
//将变量从字符串转换为int
var x=(c.width=Number(x.substring(0,x.length-2));
变量y=(c.height=Number(_y.substring(0,_y.length-2));
函数getRandomPoint(x,y){
//在画布中生成随机点
var px=Math.floor(Math.random()*x);
var py=Math.floor(Math.random()*y);
变量线=[px,py];
回流线;
}
var cord=getRandomPoint(x,y);
createLine(x,y,跳线[0],跳线[1]);
函数createLine(x,y,xk,yk){
ctx.beginPath();
ctx.moveTo(x/2,y/2);
ctx.lineTo(xk,yk);
ctx.stroke();
}
*{
保证金:0;
填充:0;
框大小:边框框;
}
正文,html{
宽度:100%;
身高:100%;
}
身体{
背景色:#F2F2;
}
/*帆布*/
帆布{
高度:400px;
宽度:600px;
保证金:20px自动;
背景色:白色;
显示:块;
边框:1px实心#999;
}