génère une image bitmap d'une fenêtre ou interface graphique, incluant les composants interactifs voire le cadre de la fenêtre.
gui2bitmap(idFig, filename) gui2bitmap(idFig, filename, withBorders) gui2bitmap("setMenu", parentHandle) gui2bitmap("setBorders", borders) gui2bitmap("setScale", scale)
filename
.![]() | Avec Scilab 6, cela doit obligatoirement être effectué avant tout
tracé graphique dans la fenêtre (dû au
bug 16167). |
withBorders
est utilisée. Par défaut = [%T %T %T].gui2bitmap(…)
prend une photo de la fenêtre graphique spécifiée
et l'enregistre dans le fichier indiqué.
gui2bitmap(…)
est une fonction Scilab autonome ne faisant appel
à aucun logiel tiers à installer. Elle utilise uniquement la JVM distribuée avec Scilab.
Elle vise à suppléer à xs2png(…)
, xs2jpg(…)
, xs2gif(…)
, et xs2bmp(…)
. En effet, contrairement à celles-ci, gui2bitmap(…)
La Machine Virtuelle Java JVM étant appelée, gui2bitmap()
peut
être utilisée en modes standard STD
et console avancée
NW
de lancement de Scilab, mais pas en mode NWNI
(batch) qui ne charge pas la JVM et exclut en particulier l'usage de toutes
les fonctions graphiques.
gui2bitmap("setMenu", parentHandle)
ajoute un menu à la console, ou un sous-menu à la fenêtre graphique choisie (à son
menu Fichier) ou à un menu existant, selon la valeur
parentHandle
fournie.
À l'entrée de gui2bitmap(), l'explorateur de fichiers s'ouvre dans le dossier de travail courant et demande à l'utilisateur de spécifier le dossier et le nom de fichier dans lesquels enregistrer l'image.
Lorsque le menu est ajouté à la console, gui2bitmap() est appliquée à la fenêtre graphique active, repérée par un clignotement avant d'appeler gui2bitmap().
Cette commande est ignorée en mode d'exécution NW.
gui2bitmap("setScale", scale)
enregistre en paramètre de configuration l'échelle d'affichage à l'écran. La valeur est enregistrée dans le fichier SCIHOME/gui2bitmap_preferences.xml et est prise en compte par gui2bitmap() pour tous les appels à gui2bitmap et sessions Scilab à suivre.
gui2bitmap("setBorders", borders)
indique quelles bordures de la fenêtre graphique doivent être incluses
dans l'image lorsque gui2bitmap() est appelée avec l'option
withBorders
. Le vecteur booléen
borders
est enregistré comme paramètre de configuration dans le
fichier SCIHOME/gui2bitmap_preferences.xml et est utilisé par gui2bitmap() pour tous
ses appels et les sessions Scilab à suivre.
Ce réglage est utile en particulier lorsque les bordures sont transparentes. [%F %F %F] sera alors paramétré afin de les ignorer.
![]() | Aucune variable nommée File, Robot, ou
Rectangle ne doit exister dans la session, ni au niveau
d'appel de |
// Génère une interface graphique ergonomique (démo) exec("SCI/modules/gui/demos/uicontrol_plot3d.dem.sce",-1); // f = gcf(); f.axes_size = [650 400]; sleep(500) figGUI = "TMPDIR/gui2bitmap/gui2bitmap.png"; // Export de la fenêtre en image bitmap (ici PNG) gui2bitmap(f, figGUI, %t) // avec le cadre de la fenêtre // Regardons l'image produite winopen(figGUI) sleep(500) // Et maintenant, sans le cadre de la fenêtre : gui2bitmap(f, figGUI) winopen(figGUI) close(f); rmdir(fileparts(figGUI)); | ![]() | ![]() |
Enfin, supprimons les bordures à gauche, en bas, et à droite, en conservant cependant le bandeau de tête, et la barre de statut en bas :
xdel(winsid()) exec("SCI/modules/gui/demos/uicontrol_plot3d.dem.sce",-1); f = gcf(); f.axes_size = [650 400]; f.infobar_visible = "on"; figGUI = "TMPDIR/gui2bitmap/gui2bitmap.png"; gui2bitmap("setBorders", [%F %F %F]) gui2bitmap(gcf(), figGUI, %t); // Image produite : winopen(figGUI) // Restauration de toutes les bordures : gui2bitmap("setBorders", [%T %T %T]) | ![]() | ![]() |
Ajoutons un menu gui2bitmap à la console, et utilisons le :
xdel(winsid()) plot exec("SCI/modules/gui/demos/uicontrol_plot3d.dem.sce",-1); // Deux fenêtres graphiques sont ouvertes. Celle de la démo plot3d est active. gui2bitmap("setMenu",get(0)); // Observer la barre de menu de la console => menu gui2bitmap proposé. // L'utiliser et en observer le déroulement. | ![]() | ![]() |
Samuel GOUGEON
Version | Description |
1.0 | 2019-08-02 : première publication |
1.1 | 2019-08-05 :
|
1.2 | 2019-08-09 :
|