0
質問Matlab figure to pdf: measuring accuracyに答えて、回答Limit of figure dimensionsから学ぶ間に、別の質問が発生しました。Matlabの古いバージョンで図形の切り抜きを避ける方法
制限を超えようとしているときにサイズ変更するフィギュアを保護するにはどうすればよいですか?
質問Matlab figure to pdf: measuring accuracyに答えて、回答Limit of figure dimensionsから学ぶ間に、別の質問が発生しました。Matlabの古いバージョンで図形の切り抜きを避ける方法
制限を超えようとしているときにサイズ変更するフィギュアを保護するにはどうすればよいですか?
スクリーン解像度が1400 x 900ピクセルで解像度が96 ppiのmatlab 2011bを使用していて、10インチx 20インチの図形をエクスポートして、限界を超えるとします。
FigureSize=[10 20];
FigureInchSize=FigureSize.*1; %\ Convert the given size to inches
ScrSize=get(0,'ScreenSize');
ScrSize=ScrSize(3:4);
PPI_def=get(0,'ScreenPixelsPerInch');
PPI_new=PPI_def;
%\\ Calculate the appropriate resolution PPI_new
if FigureSize(1)*PPI_new>ScrSize(1) %\ Will the figure width exceed the limit?
PPI_new=floor(ScrSize(1)/FigureInchSize(1));
end
if FigureSize(2)*PPI_new>ScrSize(2) % Will the figure height exceed (new) limit?
PPI_new=floor(ScrSize(2)/FigureInchSize(2));
end
set(0,'ScreenPixelsPerInch',PPI_new);
set(FigureHandle,'position',[0.1,0.1,FigureSize]);
%\\ Export the figure
export_fig('Foo','-pdf','-nocrop');
%\\ Reset the resolution
set(0,'ScreenPixelPerInch',PPI_def);
最初に、必要な値を読み、適切な形式に変換します。また、set(Handle,'Units',<Units>)
による自動変換は、Position
値の解釈を妨げる可能性があります。
第2部では、必要に応じて解像度値を変更します。
3番目の部分では、解像度を変更し、サイズを変更してFigureをエクスポートし、解像度をデフォルト値に戻します。
との場合は、図のレイアウトを定義する方法に注意してください。