Вопрос

Я использую веб -фигуры в 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)
}_ 

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

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

Любые идеи?

Это было полезно?

Решение

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top