chiamata openfig MATLAB da Java
-
26-10-2019 - |
Domanda
Sto usando WebFigures in Matlab, e ho una semplice funzione in MATLAB
function df = getFig
f = openfig('C:\test1.fig');
figure('Visible','Off')
df = webfigure(f);
close(f);
end
sto chiamando questa funzione dal mio Java Servlet. Tuttavia, questo si trova appena per un po ', allora ottengo questo errore:
{_Error using figure
UIJ_AreThereWindowShowsPending - timeout waiting for window to show up
Error in openfig (line 135)
Error in getFig (line 3)
}_
Ho provato chiamata alla stessa funzione, se non con una generato sulla figura volo, come l'utilizzo di trama o nodo, ed entrambi funzionano bene.
Anche come una questione connessa, è possibile passare un riferimento a un file a questa funzione da Java? come attraverso un oggetto InputStream? Questo è perché i file che ho bisogno di recuperare sono in realtà recuperati da un URL.
Tutte le idee?
Soluzione
Non so esattamente quale sia il problema, ma un problema potrebbe essere che il comando figure('Visible','off')
Non sta modificando la tua figura f
, ma piuttosto la creazione di una nuova figura separato che è invisibile.
Sono anche non so perché si desidera che la figura da essere invisibile (credo che questo potrebbe essere il vero problema del perché non sta rivelando all'interno del servlet Java).
Se avete bisogno di essere invisibile si potrebbe provare
openfig('filename.fig','new','invisible')
o, dal momento che openfig
è davvero destinato GUI piuttosto che figure che contengono elementi grafici solo, l'uso hgload
invece, e quindi impostare direttamente la visibilità.