以八度打印不可见的图形

时间:2020-07-20 20:36:23

标签: octave

当图形的可见性设置为false时,我无法以八度打印图形。例如,以下代码在Octave版本4.2.2中产生“ panic:segmentation fault”:

t = 1:10;
fh = figure(“visible”, false);
plot(t,sin(t))
print(“fig.png”)

如果我在Octave版本5.2.0中运行上述代码,则没有问题。这是Octave 5更新中修复的错误吗?如果是这样,是否存在我可以用于Octave 4的解决方法?如果可能的话,我更喜欢使用Octave 4。

其他说明: 我在Ubuntu 16.04.6 LTS中运行此程序,并使用apt安装了octave 4。

1 个答案:

答案 0 :(得分:2)

您的问题的答案是,是的。这是v5.1.0 NEWS的相关行:

依赖项:

  • GUI需要Qt库。支持的最低Qt4版本是Qt4.8。首选任何版本的Qt5。
  • 不再使用OSMesa库。要在使用OpenGL图形时打印不可见的图形,必须具有Qt QOFFSCREENSURFACE功能,并且必须使用qt图形工具包。

显然,现在已弃用的OSMESA依赖关系和不可见图形的印刷是long-standing pain-in-the-butt。也许您会遇到一些错误注释(例如,有人说,如果您至少一次看到它,则可以打印)。

但是正如人们在评论中所说的那样,最好的办法是升级您的八度音程版本,并为新版本重新编译您的mexfiles。

相关问题