Source code for
vl_demo_print.m
This file is located in the toolbox/demo folder in VLFeat package.
function vl_demo_print(varargin)
% VL_DEMO_PRINT
% VL_DEMO_PRINT(NAME) prints the current figure to the documentation
% directory with the specified filename, assuming that the global
% variable VL_DEMO_PRINT is defined and non-empty when MATLAB is
% started (our using SETENV() from MATLAB). Otherwise the function
% flushes the displays and returns.
%
% VL_DEMO_PRINT(NAME, R) specifies a magnification factor R, setting
% the figure width relatively to the page width. If not specified, R
% is assumed to be 1/2.
%
% Remarks:: The figure paper type is set to letter, that has size 8.5 x
% 11 inches. When converted for web viewing, images are rasterized
% at either 75 or 95 DPI, The documentation system converts images
% to bitmap with a resolution of 75 DPI, which makes a letter size
% page 637 or 808 pixels large, repsectively.
%
% In MATLAB font sizes are usually expressed in points, where a
% point is a 1/72 inch. Thus a 12pt font sampled at 75 DPI is
% about 12.5 pixels high.
% Copyright (C) 2007-12 Andrea Vedaldi and Brian Fulkerson.
% All rights reserved.
%
% This file is part of the VLFeat library and is made available under
% the terms of the BSD license (see the COPYING file).
if isempty(getenv('VL_DEMO_PRINT'))
drawnow ;
return ;
end
if isa(varargin{1}, 'double')
fig = varargin{1} ;
varargin(1) = [] ;
else
fig = gcf ;
end
name = varargin{1} ;
if length(varargin) < 2
figurePaperSize = 0.5 ;
else
figurePaperSize = varargin{2} ;
end
vl_printsize(fig, figurePaperSize) ;
figDir = fullfile(vl_root,'doc','demo') ;
if ~ exist(figDir, 'dir')
mkdir(figDir) ;
end
if 0
filePath = fullfile(figDir, [name '.eps']) ;
print(fig, '-depsc2', filePath) ;
else
filePath = fullfile(figDir, [name '.jpg']) ;
print(fig, '-djpeg95', filePath, '-r95') ;
end
fprintf('%s: wrote file ''%s''\n', mfilename, filePath) ;