作者prenlok (既选择~就不後悔~)
看板MATLAB
标题Re: [心得] 间接储存GUI中的Axes画面
时间Thu Mar 25 02:12:54 2010
※ 引述《zxvc (修行)》之铭言:
: 我做了一个GUI可以用来画一些数据图,GUI上有许多controls,
: 如Pushbuttions、Combo boxes。
: 但最近在新增一个可以把画出来的曲线saveas成png图片的功能的时候遇到一个困扰,
: 就是saveas会把GUI上的controls一起save到图片中。
: 我在google上搜到一个解决方法,
: 简单的说就是把一个axes物件copy(copyobj)到另一个空白的figure,再saveas。
: 请参考:
: http://www.mathworks.com/support/solutions/data/1-18VP2.html?solution=1-18VP2
小弟一直以来,也碰到用saveas会存不必要白色边框这问题,
再参考完zxcv大大提供的网址,小弟试出下列的code,好像可以解决这个问题了:
Image=imread('000.jpg');
[y,x,z]=size(Image);
figure, imshow(Image);
[A map]=getframe(gcf);
B=A(30+1:30+y,82+1:82+x,:);
imwrite(B,'0000.jpg');
小弟研究一下,他边框是左右各加82个pixels,上下则分别加30和56个pixels,
因此,先将目前figure的图档撷取到A阵列,再将原图在A阵列的数值撷取出来至B,
最後imwrite写出便可,我有试过不同大小的影像,边框好像是固定不变的,所以,
用此code希望可以解决这问题,如果站上各高手有发现错误,欢迎指正,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.125.1
1F:推 superjeff:优 谢谢你的方法 04/06 22:50
2F:→ superjeff:我也有类似的困扰 04/06 22:50