原文地址:http://blog.sina.com.cn/s/blog_6cf5b21b0101g4cd.html
matlab 输出图片文件时,图片的四周总有白色边框,如何裁剪掉这些边框呢。
首先要了解的是Matlab是面向对象的。最高等级的对象是screen,它定义了figure可以用的最大szie。 screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。 figure下面是axes。axes是那个窗口里面你要画的东西。axes的大小和位置取决于figure,如果你放大缩小figure的大小的话,
里面的图线也会跟着变化的。 运行如下命令: [x,y]=meshgrid(1:15,1:15); tri = delaunay(x,y); z = peaks(15); H = trisurf(tri,x,y,z); view(2); 显示如下:
这个figure1就是figure,里面坐标系包围的就是axes。 输出图片时,就会留下外面的灰色边框。 如果运行get(gcf), get(gca),get(H) 就会等到许多你可以修改的关于更个层次对象的句柄。 set(gcf,'color',[0 0 0.3]);可以更个灰色部分的颜色。 如果使之为空则为, set(gcf,'color','none'); 效果如下:
set(gcf,'InvertHardcopy','off'); 当复制或者打印图片时,边框的颜色就不会再变为白色。 set(gcf,'paperpositionmode','auto');
当打印或保存图片时,matlab会调整图片大小,设置为auto,matlab就不会自动调整图片大小了。
调整plot area的显示范围,以去掉白色边框部分。 axis([min(x(:)) max(x(:)) min(y(:)) max(y(:))]); 效果如下:
如何去掉周围的边框呢。 set(gca,'position',[0 0 1 1]); 效果如下:
|
请发表评论