litegraph.js

2025-12-11 0 512

litegraph.js

JavaScript中的一个库在浏览器中创建图形,类似于虚幻蓝图。节点可以轻松编程,其中包括一个编辑器来构建和测试图形。

它可以轻松地集成到任何现有的Web应用程序中,并且可以在无需编辑器的情况下运行图形。

在演示网站上尝试。

特征

  • 在canvas2d上的渲染(缩放进出和平移,易于渲染复杂的接口,可以在WebGlTexture中使用)
  • 易于使用的编辑器(搜索框,键盘快捷键,多个选择,上下文菜单,…)
  • 优化以支持每个图的数百个节点(在编辑器上也是执行)
  • 可自定义的主题(颜色,形状,背景)
  • 为个性化每个动作/绘图/节点事件的回调
  • 子图(包含图本身的节点)
  • 实时模式系统(隐藏图形,但调用节点以渲染他们想要的任何东西,可用于创建UIS)
  • 可以在nodejs中执行图形
  • 高度可自定义的节点(颜色,形状,槽垂直或水平,小部件,自定义渲染)
  • 易于集成在任何JS应用程序中(一个单个文件,无依赖关系)
  • 打字稿支持

提供节点

尽管很容易创建新的节点类型,但LiteGraph带有一些默认节点,这些节点在许多情况下可能很有用:

  • 接口(小部件)
  • 数学(三角学,数学操作)
  • 音频(Audioapi和Midi)
  • 3D图形(WebGL中的处理)
  • 输入(读取游戏板)

安装

您可以使用NPM安装它

npm install litegraph.js

或从此存储库下载build/ litegraph.js和css/ litegraph.css版本。

第一个项目

litegraph.js\”></script>
</head>
<body style=\’width:100%; height:100%\’>
<canvas id=\’mycanvas\’ width=\’1024\’ height=\’720\’ style=\’border: 1px solid\’></canvas>
<script>
var graph = new LGraph();

var canvas = new LGraphCanvas(\”#mycanvas\”, graph);

var node_const = LiteGraph.createNode(\”basic/const\”);
node_const.pos = [200,200];
graph.add(node_const);
node_const.setValue(4.5);

var node_watch = LiteGraph.createNode(\”basic/watch\”);
node_watch.pos = [700,200];
graph.add(node_watch);

node_const.connect(0, node_watch, 0 );

graph.start()
</script>
</body>
</html>\”>

 < html >
< head >
	< link rel =\" stylesheet \" type =\" text/css \" href =\" litegraph.css \" >
	< script type =\" text/javascript \" src =\" litegraph.js \" > </ script >
</ head >
< body style =\' width:100%; height:100% \' >
< canvas id =\' mycanvas \' width =\' 1024 \' height =\' 720 \' style =\' border: 1px solid \' > </ canvas >
< script >
var graph = new LGraph ( ) ;

var canvas = new LGraphCanvas ( \"#mycanvas\" , graph ) ;

var node_const = LiteGraph . createNode ( \"basic/const\" ) ;
node_const . pos = [ 200 , 200 ] ;
graph . add ( node_const ) ;
node_const . setValue ( 4.5 ) ;

var node_watch = LiteGraph . createNode ( \"basic/watch\" ) ;
node_watch . pos = [ 700 , 200 ] ;
graph . add ( node_watch ) ;

node_const . connect ( 0 , node_watch , 0 ) ;

graph . start ( )
</ script >
</ body >
</ html > 

如何编码新节点类型

这是如何构建一个总和两个输入的节点的示例:

 //node constructor class
function MyAddNode ( )
{
  this . addInput ( \"A\" , \"number\" ) ;
  this . addInput ( \"B\" , \"number\" ) ;
  this . addOutput ( \"A+B\" , \"number\" ) ;
  this . properties = { precision : 1 } ;
}

//name to show
MyAddNode . title = \"Sum\" ;

//function to call when the node is executed
MyAddNode . prototype . onExecute = function ( )
{
  var A = this . getInputData ( 0 ) ;
  if ( A === undefined )
    A = 0 ;
  var B = this . getInputData ( 1 ) ;
  if ( B === undefined )
    B = 0 ;
  this . setOutputData ( 0 , A + B ) ;
}

//register in the system
LiteGraph . registerNodeType ( \"basic/sum\" , MyAddNode ) ;

或者您可以包装现有功能:

 function sum ( a , b )
{
   return a + b ;
}

LiteGraph . wrapFunctionAsNode ( \"math/sum\" , sum , [ \"Number\" , \"Number\" ] , \"Number\" ) ; 

服务器端

尽管某些节点在服务器(音频,图形,输入等)中不起作用,但它还使用nodejs工作服务器端。

litegraph.js\”).LiteGraph;

var graph = new LiteGraph.LGraph();

var node_time = LiteGraph.createNode(\”basic/time\”);
graph.add(node_time);

var node_console = LiteGraph.createNode(\”basic/console\”);
node_console.mode = LiteGraph.ALWAYS;
graph.add(node_console);

node_time.connect( 0, node_console, 1 );

graph.start()\”>

 var LiteGraph = require ( \"./ litegraph.js \" ) . LiteGraph ;

var graph = new LiteGraph . LGraph ( ) ;

var node_time = LiteGraph . createNode ( \"basic/time\" ) ;
graph . add ( node_time ) ;

var node_console = LiteGraph . createNode ( \"basic/console\" ) ;
node_console . mode = LiteGraph . ALWAYS ;
graph . add ( node_console ) ;

node_time . connect ( 0 , node_console , 1 ) ;

graph . start ( ) 

使用它的项目

comfyui

webglstudio.org

莫伊大象

mynodes

UTILS


它在UTILS文件夹中包含几个命令,以生成DOC,检查错误并构建缩小版本。

演示


该演示包括一些图形示例。为了尝试它们,您可以访问演示站点或在本地计算机上安装它,以便您需要Git,Node和NPM。考虑到这些依赖项已安装,请运行以下命令以尝试:

litegraph.js
$ npm install
$ node utils/server.js
Example app listening on port 80!\”>

$ git clone https://gith*u*b.*com/jagenjo/litegraph\\.js.git
$ cd litegraph.js
$ npm install
$ node utils/server.js
Example app listening on port 80 !

打开浏览器,并将其指向http:// localhost:8000/。您可以从页面顶部的下拉列表中选择一个演示。

反馈


您可以将任何反馈写给javi.agenjo@gmail.com

贡献者

  • 阿特拉桑
  • 克里夫
  • Rappestad
  • Inventivetalentdev
  • Natescarlet
  • CodeRofSalvation
  • 伊利布斯克
  • 高斯

下载源码

通过命令行克隆项目:

git clone https://github.com/jagenjo/litegraph.js.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 建站资源 litegraph.js https://www.zuozi.net/35161.html

winmerge
上一篇: winmerge
jspaint
下一篇: jspaint
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务