fig格式批量转eps
这两天因为论文需要,有一些matlab的fig格式图片需要转成eps格式。本着绝不重复造轮子的思想,网上苦寻一番最后无果而终。最后,结合一些搜集的资料,写了一个批处理程序,很快就搞定了。
首先吐槽一下matlab导出eps格式图片的各种问题,可以找到很多导出方式,如saveas
、export
等等。这里就不说了。我选用的是export_fig。其中导出eps或pdf格式的图片需要两个小工具,放一个CSDN链接方便下载。
正常matlab工具包的安装方法安装export_fig即可,需要注意的是,要记住另外两个小工具的安装路径。当用export_fig第一次导出eps格式图片时,要根据提示定位到gs9.10的bin文件夹和xpdfbin-win-3.03的bin32文件夹。之后便可以导出eps格式的图片啦啦啦啦。
当然,这还满足不了我的需要。下面是批处理程序。
clc;clear;
file_path='C:\Users\rumusan\Desktop\fig\';%待转换图片位置
All_pic=dir(file_path);%所有图片文件的信息。
All_pic(1)=[];All_pic(1)=[];
for NN=1:size(All_pic)
file_info=All_pic(NN);%一张图片的信息
file_name=file_info.name;%图片的名字
full_file_name=[file_path,file_name];%图片的全名
uiopen(full_file_name,1);
name_size=size(file_name);
for NNN=1:name_size(2)
if file_name(NNN)=='.'
name_num=NNN;%记下点的位置
end
end
new_name=file_name(1:name_num-1);%点之前的部分
export_fig(new_name,'-eps');
close ;
end
另外,这条DOS命令bmeps -c fig1.jpg fig1.eps
也可以实现转换。其中bmeps的调用的前提是你安装了ctex,或者说是MiKTeX。