Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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 在画布上显示node.js输出变量_Javascript_Node.js_Canvas - Fatal编程技术网

Javascript 在画布上显示node.js输出变量

Javascript 在画布上显示node.js输出变量,javascript,node.js,canvas,Javascript,Node.js,Canvas,我的node.js程序的输出是一系列点(x,y)。我需要的是在画布上显示这些点(没有浏览器),所以我认为这个模块可以显示我的点 () 我通过npm安装了它,但运行此代码时,我在屏幕上看不到任何画布。 它会写入文件还是什么? 我应该创建一个Web服务器或其他东西来查看屏幕上的画布吗?(对不起,我不是电脑迷,所以这对我来说很难。我正在做作业,我只想在没有浏览器的画布上显示。) 注意:我有{2,3}、{5,8}等点作为Node.js代码的输出。我想在屏幕上显示这些点。这是第一个问题。如果我能处理这个问

我的node.js程序的输出是一系列点(x,y)。我需要的是在画布上显示这些点(没有浏览器),所以我认为这个模块可以显示我的点

()

我通过npm安装了它,但运行此代码时,我在屏幕上看不到任何画布。 它会写入文件还是什么? 我应该创建一个Web服务器或其他东西来查看屏幕上的画布吗?(对不起,我不是电脑迷,所以这对我来说很难。我正在做作业,我只想在没有浏览器的画布上显示。)

注意:我有{2,3}、{5,8}等点作为Node.js代码的输出。我想在屏幕上显示这些点。这是第一个问题。如果我能处理这个问题,我将进入第二阶段,当我移动鼠标时,将计算鼠标点的位置并绘制新的点。但我应该首先在屏幕上显示点,如图所示


您需要一个浏览器来显示画布。除非我弄错了

我认为那个包不会写入文件no

您需要一个web服务器来使用节点

你能提供更多的信息吗?比如你说“屏幕”是什么意思。我很困惑你到底想达到什么目的。

试试看

长答案:

由于不涉及浏览器,因此无法绘制到画布。大多数JS库中的术语画布是浏览器画布

但是,您可以将输出绘制到,并使用包将其保存为文件。有关位图文件的图形点,请参见

另一个选项是输出SVG文档。但你需要,并且知道从一开始


如果您还想要一个类似桌面应用程序的GUI,请尝试。

Question updated。您需要一个画布,这需要使用浏览器。虽然我觉得你可能对术语感到困惑。节点用于创建服务器端指令,如果您想编辑客户端/浏览器/画布端行为,则需要使用javascript,然后由浏览器解释。我已经知道了。我在问是否可以使用Node.js绘制这些点。我知道如何使用纯Javascript和HTML进行绘制,但我需要学习是否可以使用Node.js绘制这些点。如果无法使用Node no进行绘制,则可以将这些值传递给客户端/Javascript并以这种方式绘制。但是node是服务器端的,这意味着它不能真正处理像这样的可视化的东西。你能检查一下我在帖子中给出的链接库吗?它不是用于不需要浏览器的独立画布吗?@Lyrk该库似乎提供了画布API,但没有谈到从操作系统实际显示GUI窗口。如果是这样,那么另一个选项与libGD相同,即将输出保存到文件。如果您只想保存结果,请单击链接页面上的
createXyStream
-s,如图所示。
const { createCanvas, loadImage } = require('canvas')
const canvas = createCanvas(200, 200)
const ctx = canvas.getContext('2d')

// Write "Awesome!"
ctx.font = '30px Impact'
ctx.rotate(0.1)
ctx.fillText('Awesome!', 50, 100)