1

我正在尝试在 matlab 中使用文本函数,并将其用作图像,如下所示:

text('HorizontalAlignment'  , 'center'  ,...
     'position'             , [.5 .5]   ,...
     'string'               , 'HELLO'   ,...
     'FontName'             , 'Arial'   ,...
     'FontSize'             , 300       ,...
     'BackgroundColor'      , 'w');
axis off;
g=getframe(gca);
image=g.cdata;
close;

每次打开和关闭数字真的很困扰我。我用谷歌搜索,我发现保存 Matlab 图没有绘制它?但它并没有解决问题。我也试过set(gca,'Visible','off');,但它也不起作用。

4

2 回答 2

1

你应该试试这个Matlab 文件交换功能。它以您想要的任何格式保存图形,您不需要显示它。无论如何,如果您的程序定期显示数字并且您想在运行时显示并关闭它们,请尝试以下不同的命令:

[commandwindow][2] % Directs the user to command window

close all %closes all figures opened

pause %pauses the run until user presses any key in command window

[movegui][3] %can make a figure be shown where the user sets it (not always in the centre of the screen!)

使用它们中的四个,您可以通过在程序运行时自动打开和关闭图形来进行有趣的运行,并且用户已经理解或检查了图形。将此与图像保存功能相结合,您可以构建一个非常好的程序!

我确信还有更多有用的命令,但我自己还没有使用它们

于 2012-12-14T15:26:00.710 回答
0

你为什么使用getframe而不只是print

这段代码似乎完全符合您的要求:

fig = figure('Visible', 'off'); % as you know - make the fig invisible
t = text('HorizontalAlignment'  , 'center'  ,...
     'position'             , [.5 .5]   ,...
     'string'               , 'HELLO'   ,...
     'FontName'             , 'Arial'   ,...
     'FontSize'             , 300       ,...
     'BackgroundColor'      , 'w');
axis off;
print(fig,'hello.png','-dpng') % you can chage the settings here to what you need
close(fig)
于 2019-01-03T20:16:44.203 回答