作者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