-
Notifications
You must be signed in to change notification settings - Fork 0
/
previewfig.m
50 lines (47 loc) · 1.64 KB
/
previewfig.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
% FROM: http://www.mathworks.com/company/newsletters/digest/december00/export.html;jsessionid=SvdQM1JQTHwF52GqS2nb0gXrnWyYGQjznsRXnyPhRWTjLf3tpZLJ!-248230706
function f = previewfig(h,varargin)
%PREVIEWFIG Preview a figure to be exported using EXPORTFIG.
% F = PREVIEWFIG(H) creates a preview of H with the default
% EXPORTFIG options and returns the preview's figure handle in F.
% F = PREVIEWFIG(H,OPTIONS) creates a preview with OPTIONS as
% described in EXPORTFIG.
% PREVIEWFIG(...,PARAM1,VAL1,PARAM2,VAL2,...) creates a preview
% with the specified parameter-value pairs to H as described in
% EXPORTFIG.
%
% See also EXPORTFIG, APPLYTOFIG, RESTOREFIG.
% Copyright 2000 Ben Hinkle
% Email bug reports and comments to bhinkle@mathworks.com
filename = [tempname, '.png'];
args = {'resolution',0,'format','png'};
if nargin > 1
exportfig(h, filename, varargin{:}, args{:});
else
exportfig(h, filename, args{:});
end
X = imread(filename,'png');
height = size(X,1);
width = size(X,2);
delete(filename);
f = figure( 'Name', 'Preview', ...
'Menubar', 'none', ...
'NumberTitle', 'off', ...
'Visible', 'off');
image(X);
axis image;
ax = findobj(f, 'type', 'axes');
axesPos = [0 0 width height];
set(ax, 'Units', 'pixels', ...
'Position', axesPos, ...
'Visible', 'off');
figPos = get(f,'Position');
rootSize = get(0,'ScreenSize');
figPos(3:4) = axesPos(3:4);
if figPos(1) + figPos(3) > rootSize(3)
figPos(1) = rootSize(3) - figPos(3) - 50;
end
if figPos(2) + figPos(4) > rootSize(4)
figPos(2) = rootSize(4) - figPos(4) - 50;
end
set(f, 'Position',figPos, ...
'Visible', 'on');