MATLAB GUI 程序设计中将axes保存为高质量矢量图的方法
2015-12-02 20:22
676 查看
MATLAB进行GUI程序设计时,一个figure中通常包含多个axes控件。
保存矢量图的常用指令saveas和print只能以figure为单位保存图片,而不能将figure中的某一个axes单独保存。
而getframe+imwrite的方法虽然可以保存axes,但只能将窗口显示范围的像素点保存为位图,不能保存为矢量图,必定造成图像在放大时变模糊。
下面给出一种解决方案。
创建一个新的、不可见的figure和axes,将要保存的axes内容复制至新的axes中,并保存新的figure。
由于新的figure中只有1个axes,所以相当于至保存了一个axes。
上面代码的缺陷在于,无法控制矢量图的质量
可以通过使用print函数解决
本系列文章允许转载,转载请保留全文!
[b]【说明&总目录】/article/5553408.html[/b]
保存矢量图的常用指令saveas和print只能以figure为单位保存图片,而不能将figure中的某一个axes单独保存。
而getframe+imwrite的方法虽然可以保存axes,但只能将窗口显示范围的像素点保存为位图,不能保存为矢量图,必定造成图像在放大时变模糊。
下面给出一种解决方案。
创建一个新的、不可见的figure和axes,将要保存的axes内容复制至新的axes中,并保存新的figure。
由于新的figure中只有1个axes,所以相当于至保存了一个axes。
h=get(handles.axes1,'children'); figure('visible','off'); axes; copyobj(h,gca); saveas(gcf,filename,'emf');
上面代码的缺陷在于,无法控制矢量图的质量
可以通过使用print函数解决
h=get(handles.axes1,'children'); figure('visible','off'); axes; copyobj(h,gca); print(gcf,'-zbuffer','-dmeta','-r1000',filename); % 将-dmata改为-dpng可以生成png图盘 % -r1000用于控制图片质量,数值越大质量越高
本系列文章允许转载,转载请保留全文!
[b]【说明&总目录】/article/5553408.html[/b]
相关文章推荐
- weka和matlab完成完整分类实验
- matlab调用opencv2.4
- matlab绘制概率分布图形
- MATLAB入门教程
- 基于COM接口的VC++与MATLAB混合编程
- plot函数用法(MATLAB)
- subplot函数用法(MATLAB)
- MATLAB链接MinGW编译器
- python和matlab的语法对比
- 在单片机上运行USB Audio实现MATLAB简单虚拟示波器
- matlab-图片-imrect使用
- MATLAB常用数学函数
- (转)Matlab中图像函数大全 - [基础知识]
- 初步体验libsvm用法3(matlab实例)
- matlab imfilter 对于 opencv filter2D 参数
- Analyse of MV Field by Matlab
- Matlab小技巧
- LibSVM 在matlab中的使用
- 今天总结一下matlab有用快捷键
- MATLAB浮点型运算生成6变形