2015-04-07 46 views
5

我有一個Matlab Gui與Linux和MacOS兼容的問題。圖形界面是在Linux Debian 7.0下開發的。下面是這個平臺上的方面:Matlab Gui兼容性 - Linux和MacOS之間的不同方面

enter image description here

現在,我執行在MacOS .m文件和這裏的結果:

enter image description here

正如你所看到的,板(箱在第一張圖上有3個磁盤(對不起,3個磁盤沒有出現在第二個磁盤上)),更全局的說,MacOS 10.9.5上的數字是水平拉伸的,即窗口寬於高。

我試圖改變單位(嘗試與字符,規範化,像素),但沒有。

它並不打擾我爲「編輯」框和按鈕有不同的字體,但我希望在面板的兩個操作系統下都具有相同的大小比例,即在Linux Matlab下有一個方形面板。

如果有人可以幫助我,這將是很好

感謝

+6

如果您發佈重現問題的最小示例,您將獲得更多幫助 –

+0

Mac顯示器可以使用一些時髦的(_unconventional_)分辨率,並適應他們也使用一些非常規DPI設置。我要做的第一件事是檢查DPI設置在兩個操作系統上是否可比。對於MAC中的DPI設置,您可以查看[這裏](http://superuser.com/questions/13412/change-dpi-on-osx)或[這裏](http://www.eizoglobal.com/support/兼容性/ dpi_scaling_settings_mac_os_x/index.html中)。對於Linux,你可以開始[這裏](http://askubuntu.com/questions/197828/how-to-find-and-change-the-screen-dpi) – Hoki

回答

1

關鍵是不僅要設置'Units''pixels'您GFX對象,但也可以使用這些單位來設置位置。 :-)

在下面的代碼片段ha是軸的句柄,和hf封閉圖的句柄。您可以爲軸強制一定的像素大小:

set(hf, 'Units', 'pixels'); %// Not necessary, but better not mix units 

set(ha, 'Units', 'pixels'); 
pos = get(ha, 'position'); 
set(ha, [pos(1:2), 400, 400]); %// 400x400 pixels 

您可以將其應用於圖中任何圖形對象的位置。

+0

我已經爲我們創建了一個MATLAB聊天室,討論與MATLAB有關的東西,或討論超出單個評論限制的討論。有空的時候請訪問我們! - http://chat.stackoverflow.com/rooms/81987/matlab – rayryeng

相關問題