X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fm%2Fplot%2Fsaveas.m;fp=octave_packages%2Fm%2Fplot%2Fsaveas.m;h=0b10775d991ec2cd4d1c1b489de6f22620478ac8;hp=0000000000000000000000000000000000000000;hb=1c0469ada9531828709108a4882a751d2816994a;hpb=63de9f36673d49121015e3695f2c336ea92bc278 diff --git a/octave_packages/m/plot/saveas.m b/octave_packages/m/plot/saveas.m new file mode 100644 index 0000000..0b10775 --- /dev/null +++ b/octave_packages/m/plot/saveas.m @@ -0,0 +1,107 @@ +## Copyright (C) 2010-2012 Kai Habel +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or (at +## your option) any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, see +## . + +## -*- texinfo -*- +## @deftypefn {Function File} {} saveas (@var{h}, @var{filename}) +## @deftypefnx {Function File} {} saveas (@var{h}, @var{filename}, @var{fmt}) +## Save graphic object @var{h} to the file @var{filename} in graphic +## format @var{fmt}. +## +## @var{fmt} should be one of the following formats: +## +## @table @code +## @item ps +## Postscript +## +## @item eps +## Encapsulated Postscript +## +## @item jpg +## JPEG Image +## +## @item png +## PNG Image +## +## @item emf +## Enhanced Meta File +## +## @item pdf +## Portable Document Format +## @end table +## +## All device formats specified in @code{print} may also be used. If +## @var{fmt} is omitted it is extracted from the extension of @var{filename}. +## The default format is @code{"pdf"}. +## +## @example +## @group +## clf (); +## surf (peaks); +## saveas (1, "figure1.png"); +## @end group +## @end example +## +## @seealso{print} +## @end deftypefn + +## Author: Kai Habel + +function saveas (h, filename, fmt = "pdf") + + if ((nargin != 2) && (nargin != 3)) + print_usage (); + endif + + if (ishandle (h)) + if (isfigure (h)) + fig = h; + else + fig = ancestor (h, "figure"); + endif + else + error ("saveas: first argument H must be a graphics handle"); + endif + + if (!ischar (filename)) + error ("saveas: FILENAME must be a string"); + endif + + if (nargin == 2) + [~, ~, ext] = fileparts (filename); + if (!isempty (ext)) + fmt = ext(2:end); + endif + endif + + if (nargin == 3) + if (!ischar (filename)) + error ("saveas: EXT must be a string"); + endif + + [~, ~, ext] = fileparts (filename); + + if (isempty (ext)) + filename = strcat (filename, ".", fmt); + endif + endif + + prt_opt = strcat ("-d", tolower (fmt)); + + print (filename, prt_opt); + +endfunction