Saved figure different than actual figure size (?)

Hi, I'm trying to save a figure as a .tif, however, the output .tif file is different than the specified figure size. Here is an example:
im=imread('rice.png');
fig=figure;
set(gcf,'Position',[30 30 512 256]);
hL=axes('Position',[0 0 .5 1],'Visible','off');
hR=axes('Position',[.5 0 .5 1],'Visible','off');
set(gcf,'CurrentAxes',hL);
imshow(im,[]);
set(gcf,'CurrentAxes',hR);
imshow(im,[]);
print(gcf,'-dtiff','temp');
The output image is 1200 x 900 pixels, not the 512 x 256 I specified in the program. What am I missing during the export to get the output to be 512 x 256?
Thanks, Matt K.

 Accepted Answer

I think that the answer came down to a combo of the suggested answers. After I show the figure, I edited the code to be:
set(gcf,'PaperUnits','inches');
set(gcf,'PaperPosition',[1 1 5.12 2.56]);
set(gcf,'PaperPositionMode','manual');
print(gcf,'-dtiff','-r100','temp');
See more info about this from a MATLAB blog here, and some other info available here.
Thanks for your help.

More Answers (3)

See the figure PaperPosition and PaperPositionMode properties.
Can you use the -r option? E.g.
>> print(gcf,'-dtiff','-r300','temp')
To get the output you expect (i.e. a fair representation of the figure on the screen) without having to set lots of options, use export_fig.
In this case try:
export_fig temp.tif -nocrop

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products

Asked:

on 25 Feb 2011

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!