2017-01-26 17 views
0

フォルダに複数のMATLAB .figファイルがあります(たとえば、folder/file1.figfolder/file2.fig、...など)。
すべてを.pngファイルに分割してエクスポートします。 MATLABの各.figファイルを開くことができ、手作業で1つずつエクスポートすることができますが、これは非常に時間がかかり、MATLABのすべてのファイルをループするなど、よりエレガントなものを探していますMATLAB関数を使用してエクスポートします。複数の.figファイルを.pngファイルとしてロードして保存する

これはMATLABでも可能ですか?これについてどうすればいいですか?

+0

与える[ 'print'](https://se.mathworks.com/help/matlab/ref/print.html)返信用 – NLindros

+0

感謝をしてみてください!少し詳しく教えていただけますか?私はまだmatlabで少し新しいです。 –

答えて

0

このようにしますか?

files = dir('.....'); 
for i = 1:length(files) 
    currentfile = files(i).name; 
    f = openfig(currentfile); 
    print(f,'-dpng',[currentfile(1:end-3),'png']); 
    close(f); 
end 
+0

素晴らしい!ご協力いただきありがとうございます! –

1

あなたは自動的に数字を開き、フィギュアのハンドルを返しますopenfigを使用して、ディレクトリから.figファイルを読み込むことができます。その後、saveas(またはFile Exchangeのexport_fig)を使用して図をPNG形式で保存できます。

folder = '/my/folder'; 

% Get all .fig files in the folder 
files = dir(fullfile(folder, '*.fig')); 
files = fullfile(folder, {files.name}); 

for k = 1:numel(files) 
    % Get the filename 
    [~, fname] = fileparts(files{k}); 

    % Open and display the .fig file 
    hfig = openfig(files{k}); 

    % Save as a PNG file with the same name as the .fig file 
    saveas(hfig, fullfile(folder, [fname, '.png'])) 

    % Close the figure again 
    close(hfig) 
end 

あなたは、彼らが開くと数字は常にポップアップしたくない場合は、あなたが今までそれを画面に描画することなく姿をロードして保存することができますopenfigvisibility inputを指定することができます。

hfig = openfig(files{k}, 'invisible'); 
+0

それは動作します!どうもありがとうございました! –

+0

解像度を変更する方法はありますか? –

関連する問題