Print an image with a fixed size

2 ビュー (過去 30 日間)
Rudolf
Rudolf 2011 年 9 月 27 日
Hello everyone,
I would like to print an emf-file with a fixed size of 21x12cm:
hFig = figure;
set(hFig, 'PaperUnits', 'centimeters');
set(hFig, 'PaperSize', [21 12]);
print(hFig,'-dmeta','testfile');
But the created image has only the size of 13.4x10.1cm! Why it doesn't work?
Many thanks in advance for your help!

採用された回答

Patrick Kalita
Patrick Kalita 2011 年 9 月 27 日
You should use the 'PaperPosition' property to adjust the output size, not 'PaperSize'. However, even if you make that change, you'd find that it still doesn't work. There's a bug report about it: http://www.mathworks.com/support/bugreports/231161.
While the print command doesn't give you the correct size when exporting to an EMF-file, the File -> Export Setup... dialog will get it right. If you don't have too many figures to export, that might be something check out.
  1 件のコメント
Rudolf
Rudolf 2011 年 9 月 27 日
Hello Patrick, Thank you for the hints!
But even if I use Export Setup... dialog I get wrong size image (19.0 x 10.9 cm). The possible reason is the resolution of my desktop: 106 dpi instead of default value 96 dpi.

サインインしてコメントする。

その他の回答 (1 件)

Rudolf
Rudolf 2011 年 9 月 27 日
Btw, I found another workaround:
style = hgexport('factorystyle');
style.Width = '21';
style.Height = '12';
style.Units = 'centimeters';
style.ApplyStyle = '1';
hgexport(hFig,'-clipboard',style,'applystyle', true);
drawnow;
but there is still this issue with a desktop resolution...

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by