save PNG to file wih --nodisplay

1 次查看(过去 30 天)
Richard
Richard 2015-4-1
Hi all, I have some code that runs on a server where there is no display. I don't have any trouble using the "saveas" to save some figures as ".fig"s, but when I try and use "saveas" to save .png files I get the following error:
Error using print>LocalPrint (line 295)
Error getting PageBoundingBox position in file
What is the recommended approach to creating figures in .png (or similar) files where there is no access to a display?

回答(1 个)

Richard Quist
Richard Quist 2015-4-1
Prior to R2014b, generating image formats when running MATLAB with -nodisplay was achieved by first creating a temporary PostScript file and then using Ghostscript to convert that file to the desired format.
You appear to be running into a problem as that temporary PostScript file is created.
It's possible that one of these could help:
  1. cleaning out the temp directory, or
  2. setting a different temp directory before starting MATLAB, by setting the TEMP (on Windows) or TMP (other platforms) environment variable
An alternative approach would be to create EPS files rather than PNG, and then later convert those files to PNG using Ghostscript or some other system tool.
Rich
  2 个评论
Richard
Richard 2015-4-1
编辑:Richard 2015-4-1
Thanks Rich. I tried setting the output to .eps like this:
saveas(gcf,'myFile.eps'])
This generated a segmentation fault (only on remote servers, it works fine locally). Any ideas?
Richard Quist
Richard Quist 2015-4-2
编辑:Richard Quist 2015-4-2
Certainly sounds like you're going to need to try the tmp directory cleanup or change...
Can you provide the stack trace from the SEGV? If not, do you have sample code that reproduces the SEGV? And how are you running on the remote machine?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Printing and Saving 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by