Matlab OpenFig вызов из Java - PullRequest
       58

Matlab OpenFig вызов из Java

0 голосов
/ 30 ноября 2011

Я использую WebFigures в Matlab, и у меня есть простая функция в Matlab

function df = getFig

  f = openfig('C:\test1.fig');

  figure('Visible','Off')

  df = webfigure(f);
  close(f);
end

Я вызываю эту функцию из моего Java-сервлета. Однако это просто на некоторое время, а затем я получаю эту ошибку:

{_Error using figure

UIJ_AreThereWindowShowsPending - timeout waiting for window to show up

Error in openfig (line 135)

Error in getFig (line 3)
}_ 

Я попытался вызвать ту же функцию, за исключением сгенерированной на лету фигуры, например, с использованием сюжета или узла, и обе работают нормально.

Также как связанный вопрос, возможно ли передать ссылку на файл этой функции из Java? как через объект inputtream? Это потому, что файлы, которые мне нужно получить, фактически извлекаются из URL.

Есть идеи?

1 Ответ

0 голосов
/ 30 ноября 2011

Я точно не знаю, в чем проблема, но одна проблема может заключаться в том, что команда figure('Visible','off') не изменяет вашу фигуру f, а скорее создает новую отдельную фигуру, которая невидима.

Я также не уверен, почему вы хотите, чтобы фигура была невидимой (я думаю, что это может быть реальной проблемой, почему она не отображается в сервлете Java).

Если вам нужно, чтобы она была невидимойВы можете попробовать

openfig('filename.fig','new','invisible')

или, поскольку openfig действительно предназначен для графического интерфейса пользователя, а не для рисунков, содержащих только графику, используйте вместо этого hgload, а затем установите видимость напрямую.

...