在MATLAB會話期間,get(0,'screensize')
首先給出了正確的分辨率。稍後,答案將變爲[0 0 1 1]
。這個行爲只會在我重新啓動matlab時停止,然後再次是正確的值。get(0,'screensize')給出結果[0 0 1 1]而不是實際像素
當我運行我們的程序的特定部分時,總會發生此錯誤。它似乎發生在此特定行代碼之後:
set(0,'PointerLocation',[.4*GUI.scrsz(3),.5*GUI.scrsz(4)],'units','normalized');
即使我設法隔離錯誤,我不能找出這種行爲的原因。我在Windows 7 64bit上使用MATLAB R2010b。
請注意,我不是MATLAB的高級用戶,所以請原諒我,如果我忽視了一些顯而易見的事情。提前感謝您的幫助。
呃,多數民衆贊成,很明顯,多麼尷尬...感謝很多快速和更完整的答案! –
我通過以下方式糾正它: 'GUI.scrsz = get(0,'ScreenSize'); (0,'PointerLocation',[。4 * GUI.scrsz(3),。5 * GUI.scrsz(4)]);' 這樣我就不必亂用不同的單位。再次感謝! –
不用客氣;) – thewaywewalk