[爆卦]matlab plot疊圖是什麼?優點缺點精華區懶人包

為什麼這篇matlab plot疊圖鄉民發文收入到精華區:因為在matlab plot疊圖這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者WRO (效應)看板MATLAB標題[繪圖] 儲存的圖檔如何保持透明度?時間Tue Mar 20...



大家晚安,

一個簡單卻難找的問題打擾一下

我目前的需求是要在畫出的圖形中疊上一塊半透明的mask

matlab是可以畫出來沒有問題,但是存成圖檔之後半透明的效果都會消失

就像下圖所示

http://ppt.cc/CKqP


目前找到能保存半透明效果的兩個方法,

一個是手動 alt + PrtScr

但是繪出的圖形個數龐大,一張一張存會哭哭


另一個是在版上找到的,有人提供自動擷取全螢幕的語法串:


robo = java.awt.Robot;
t = java.awt.Toolkit.getDefaultToolkit();
rectangle = java.awt.Rectangle(t.getScreenSize());
image = robo.createScreenCapture(rectangle);
filehandle = java.io.File('screencapture.jpg');
javax.imageio.ImageIO.write(image,'jpg',filehandle);
imageview('screencapture.jpg');


雖然看不懂,不過複製貼上後真的可以擷取畫面

缺點是一來顏色明顯有落差(對方很龜毛,很多無理的細節都很要求)

二來是擷取的是全螢幕,所以一樣要手動後製截圖



不論怎麼試都沒辦法保存透明度

上一位發問的版友,在2010年問的,爬文看來也是石沈大海

雖然不太樂觀阿,但還是上來碰碰運氣,

不曉得這一兩年間有沒有人已經解決這......應該算冷門的問題了



先謝過

最後附上繪出附圖的試驗用程式,

如果有哪位想熱心一試的版友的話也比較方便



clear all;

X=-2:0.01:2;

Y=3*X;

figure(1);

plot(X,Y,'g','LineWidth',10);
hold on;

B=fill([0 0 1 1],[0.5 1 1 0.5],'b');
set(B,'EdgeColor','none');

axis([-2,2,-2,2]);
alpha(0.2);

hold off;



--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.19.139
olliekr:F = getframe(gcf); % 先抓figure 03/20 20:00
olliekr:imwrite(F.cdata,'qq.bmp'); % 輸出為qq.bmp 03/20 20:00
diva:我用patch畫再存的圖有顯示透明度耶 03/20 20:02
diva:啊 fill也可以 奇怪 我沒有你的問題耶 03/20 20:04
diva:會不會是plot畫出來的東西不能給透明度? 03/20 20:06
diva:A=fill([1 -0.5 -0.5 1],[0 .866 -.866 0]+0.75,'r'); 03/20 20:06
diva:set(A,'EdgeColor','none');set(A,'facealpha',.1); 03/20 20:06
diva:B=fill([0 0 1 1],[0.5 1 1 0.5],'b'); 03/20 20:06
diva:set(B,'EdgeColor','none');set(B,'facealpha',.1); 03/20 20:06
diva:saveas(gcf,'test.emf') 03/20 20:06
diva:存出來的圖有透明度 03/20 20:07
diva:http://imgur.com/r3ogM 03/20 20:09
WRO:oll大的方法可以保存透明度,但我還在想為什麼會抓不到圖軸^^ 03/20 20:38
WRO:至於問題可能真的像diva大說的,我重複了d大的作法真的可以保 03/20 20:38
WRO:存透明度,但是plot就不行 T___T||||| 03/20 20:39
WRO:再次痛哭流涕感謝兩位....... <(__ __)> 03/20 20:41

你可能也想看看

搜尋相關網站