[Scilab-users] ?==?utf-8?q? Exporting graphic figure and its calcs
Antoine Monmayrant
antoine.monmayrant at laas.fr
Wed May 31 10:47:09 CEST 2017
Hello again,
To add more details to my previous answer, here is the function I hastily hacked together to workaround the bug that prevent exporting uicontrols:
function exportHack()
// Export figure with uicontrols to png using X server & import (imagemagick)
// Horrible hack that should only work on my machine (linux 64bits)
// get around bug http://bugzilla.scilab.org/show_bug.cgi?id=14836 https://bugzilla.scilab.org/show_bug.cgi?id=14502
h=gcbo;
//current figure name
figname=h.parent.parent.figure_name;
//getting X server id for current window
ret=unix_g("xwininfo -int -name " +""""+figname+"""");
//hackish, depends directly on the syntax of xwininfo outputs
tok=tokens(ret(2),':');
tok=tokens(tok(3)," ")
winid=tok(1);//X server windows id, as a string
// File save dialog parameters
file_mask=["*.png"];
boxTitle="Export";
//If previous filename is present, use it to start in the corresponding directory
if h.userdata~="" then
dir=h.userdata;
else
dir=pwd();
end
dir
PathFileName=uiputfile(file_mask,dir,boxTitle);
// LD_LIBRARY_PATH required to get around bug: http://bugzilla.scilab.org/show_bug.cgi?id=14143
unix_s("LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH ; import -window "+winid +" "+PathFileName)
// keep savec filename for future reference.
h.userdata=PathFileName;
endfunction
It only works on a linux system with X server and imagemagick.
It will not run out of the box on your system, but it might inspire you to find your own workaround.
Hope it helps,
Antoine
Le Mardi, Mai 30, 2017 15:58 CEST, Alexis Cros <Alexis.Cros at promes.cnrs.fr> a écrit:
> Hello,
>
> I have created a graphic figure which contains several things :
>
> - uicontrol frames which contain axes (polarplot, plot2d...)
>
> - uicontrol texts
>
> gui_sumup = figure(55, 'Position', [0 0 my_screen_size(1)-H_BORDERS_THICK my_screen_size(2)-START_BAR_THICK],.. // Position x, y and size x, y
> 'BackgroundColor', BLUE,..
> 'Figure_name', 'Emissivity compute utility')
>
> I would like to export the full figure containing all entities. When I
> execute the folowing instruction, only the background figure is exported :
>
> xs2png(gui_sumup, computed_folder_path + '\Graphs\SUM_UP-' + csv_main_header_edit.String + '.png')
>
> or
>
> xs2png(55 , computed_folder_path + '\Graphs\SUM_UP-' + csv_main_header_edit.String + '.png')
>
> Is there a way to encapsulate all entities into the general figure (like
> merging?) to export it ?
>
> Thanks
>
> Alexis
>
More information about the users
mailing list