Свойство рисунка OuterPosition
изменяется только в том случае, если окно рисунка находится на экране;это не меняет способа печати.
Matlab использует PaperSize
, PaperUnits
, PaperPosition
и аналогичные свойства фигур при «печати» фигур, даже если они на самом деле не имеют смыслаНапример, при создании растрового файла.(Настройки PaperUnits
в pixels
были бы логичными, но это не работает.)
Процедура получения определенного размера изображения в пикселях заключается в установке PaperPosition
внекоторого размера в дюймах (или другой физической единице), а затем укажите желаемое разрешение в точках на дюйм, используя параметр -r
для print
:
r = 150; % pixels per inch
set(gcf, 'PaperUnits', 'inches', 'PaperPosition', [0 0 1080 480]/r);
print(gcf,'-dpng',sprintf('-r%d',r), 'bar.png');
Некоторые из этих особенностей обсуждаются в справке для функции print
.
Вы также можете попробовать опцию -r0
, которая указывает Matlab использовать разрешение экрана.