标签:
figure图片存储的时候,使用saveas命令,如果不做设定,只能存储默认大小,但是有的时候需要存储特定比例拉伸的图片。
matlab里面figure相关对象的关系是: screen→figure→axis,所以在设置图片大小的时候,先设定figure相对于screen的位置和大小,然后设定axes相对于figure的位置和大小。
图画出来之后,如下命令就可以储存特定大小的图片。下面给出两种方法。
法一 截图
%=========================================================
set(gcf,‘position‘,[100,100, 500, 300]); %设定figure的位置和大小 get current figure
set(gcf,‘color‘,‘white‘); %设定figure的背景颜色
A=getframe(gcf);
imwrite(A.cdata,‘try.png‘) %存储调整过大小的图片
%==================================================
还可以根据需求调整坐标轴的位置和大小,比如不想要白边一类
%====================================================
set(gca,‘DataAspectRatio‘,[3,4,1]); %调整坐标轴比率 get current axes
set(gca,‘position‘,[0,0,1,1]); %调整坐标轴位置
%======================================================
最后说明一下,saveas存储的大小是默认大小,imwrite相当于截屏;存图片的时候要养成好习惯,顺便存一个figure,以方便以后修改。
saveas(gcf,‘tt.fig‘);
法二 设定保持长宽比存图
如果要发表paper,上面这种做法就不可取了,因为存下的图片是截图;不少杂志(比如PR系列),直接说了,Not Screen!(截图丢失信息,不方便出版方的再次排版一类)。
图片画出来以后,执行以下命令,就可以保持长宽比率保存图片(但是图片的绝对大小会变化)。
set(gcf,‘color‘,‘white‘,‘paperpositionmode‘,‘auto‘);
saveas(gcf,‘exprimentLightBundles.eps‘,‘psc2‘);
标签:
原文地址:http://my.oschina.net/u/133558/blog/501964