2016-03-31 11 views

答えて

0

スクリーン解像度が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をエクスポートし、解像度をデフォルト値に戻します。

の場合は、図のレイアウトを定義する方法に注意してください。

関連する問題