【问题标题】:Save Matlab GUI as vector graphics将 Matlab GUI 保存为矢量图形
【发布时间】:2018-03-07 22:35:05
【问题描述】:

我想在一张大海报中展示我的 Matlab GUI,所以我想将其保存为矢量图形,而不仅仅是截屏。

有没有简单的方法可以做到这一点?

我在 OSX Mavericks 上使用 matlab 2014a

【问题讨论】:

标签: matlab user-interface matlab-figure vector-graphics matlab-guide


【解决方案1】:

在matlab中创建gui时,必须有匹配的*.fig文件

然后就可以使用了

fig=openfig('mygui.fig');
print(fig,'-dpdf','test.pdf')

或

fig=openfig('mygui.fig');
saveas(fig,'test.pdf')

您还可以控制非常多的选项,例如

fig=openfig('mygui.fig');
fig.InvertHardcopy = 'off';  %background
set(fig,'PaperPositionMode','auto'); % size position
print(fig,'-dpdf','test.pdf')

【讨论】:

  • 这很好用!谢谢 - 我刚刚试过了!
【解决方案2】:

您可以尝试print 命令和EPS 格式之一(-deps、-depsc、-deps2 或-depsc2)。

编辑

下面是一个简单的例子,使用gcf获取当前图形的句柄:

print(gcf,'-deps','test.eps') % using EPS format
print(gcf,'-dpdf','test.pdf') % using PDF format

【讨论】:

  • 另外,请务必阅读 print 文档的“打印 MATLAB GUI”部分。
  • 你能给我举个例子吗?在使用例如之前我必须做什么: print('-depsc','-tiff','-r300','picture1')
  • 我可以打印 GUI 的某个部分,但它不适用于整个 GUI...
  • 我添加了几个简单的例子。什么是不打印的?
  • gcf 不幸地只打开一个新图形,即使 GUI 已经打开。我打开 GUI 并保存了句柄。我仍然只得到左下部分,所以只有完整图像的四分之一
【解决方案3】:

saveas 有什么问题?

示例:saveas(hFig,'filename','format');,然后保存为任何可用的矢量格式,例如 .emf (link to saveas doc)。

【讨论】:

    猜你喜欢
    • 2013-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    相关资源
    最近更新 更多