Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.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
如何在Netlogo中将视图导出为矢量图像格式_Netlogo - Fatal编程技术网

如何在Netlogo中将视图导出为矢量图像格式

如何在Netlogo中将视图导出为矢量图像格式,netlogo,Netlogo,我想将代理布局的确切视图(包括其形状和颜色)导出为矢量图像文件格式,如EPS、PDF、SVG等 有没有办法不用另一个应用程序对生成的PNG文件进行矢量化 编辑1: 我尝试按照Seth的建议编写扩展,但生成的图像如下所示: 编辑2: 问题在于我使用的向量库。改变了图书馆,扩展工作就像一个魅力 好问题!遗憾的是,NetLogo库存中不支持这一点。应该是,;但愿如此 SVG将是输出格式的最佳选择 对Java或Scala编码有一定了解的人可以编写一个NetLogo扩展来实现这一点,方法是记录NetLo

我想将代理布局的确切视图(包括其形状和颜色)导出为矢量图像文件格式,如EPS、PDF、SVG等

有没有办法不用另一个应用程序对生成的PNG文件进行矢量化

编辑1: 我尝试按照Seth的建议编写扩展,但生成的图像如下所示:

编辑2:
问题在于我使用的向量库。改变了图书馆,扩展工作就像一个魅力

好问题!遗憾的是,NetLogo库存中不支持这一点。应该是,;但愿如此

SVG将是输出格式的最佳选择


对Java或Scala编码有一定了解的人可以编写一个NetLogo扩展来实现这一点,方法是记录NetLogo渲染器发出的Java2D调用,使用一个库,例如。

构建一个新的扩展来将模型视图导出到向量图像文件。支持的格式有EPS、PDF和SVG。 您可以在此处找到源文件和生成文件:


Seth,我试着写这样一个扩展。但是,我只能访问视图的
bifferidimage
。是否有任何特定的类可以访问NetLogo渲染器进行的Java2D调用?
org.nlogo.render.render
有一个
exportView
方法,该方法采用
Graphics2D
api.ViewSettings
。我认为可以根据需要通过将
workspace.world()
传递给
Renderer
构造函数来动态实例化
Renderer
。谢谢@Seth。正如您所说,我实例化了一个
渲染器
,并且能够在
图形2d
上绘制视图。但是,绘制的图像具有黑色背景(但必须为白色)。此外,海龟和链环也没有完全画出来。我正在尝试在我的帖子下面的编辑中临时上传生成的文件。亲爱的Seth,问题已经解决。谢谢你的帮助,酷。您计划发布扩展吗?即使你没有正式发布它,如果你在这里提供一个到源代码的链接也会很好,以防其他人想做类似的事情。这不是一个答案,而且出于许多目的,使用新的扩展无疑会更好,但是:在我的系统上,选择“复制视图”然后在另一个程序中从剪贴板创建一个新文件,可以创建更高分辨率的输出。我发现这一点是因为一个出版商拒绝发布我用标准的
export view
方法制作的图片。(我在MacOS的内置预览程序中使用了“从剪贴板创建”)。