Difference Between saveas and print Commands
26 views (last 30 days)
Show older comments
Why are image dimensions different when using saveas and print commands? Figure size is set to 560x420. Command saveas(1,'sa_01','bmp') yields image correct in size. Command print(1,'-dbmp256','pr_01.bmp') yields image incorrect in size - 576x432.
0 Comments
Accepted Answer
Jan
on 18 Jul 2011
PRINT with the dbmp256 device use other coordinates than e.g. the dbmp device. Just set a breakpoint in PRINT and find the line, which changes the units to points and use the PaperPosition value as output size.
FigH = figure;
set(FigH, 'PaperUnits', 'points',
'PaperPosition', [18, 180, 560, 420]);
print(FigH, 'pr_01.bmp', '-dbmp256', '-r100')
This creates a 560 x 420 pixel bmp.
More Answers (1)
Walter Roberson
on 18 Jul 2011
"Why" is something that many of us have stopped asking with regards to saveas() and print(). No offense intended to the fine folks at Mathworks, but the challenges associated with those functions have been around a long time, and I have not seen any indication that Mathworks has made updating them to be a priority.
If you want a routine that is much more reliable and which you can customize at need, please see Oliver's contribution export_fig
See Also
Categories
Find more on Printing and Saving in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!