2011-09-19 11 views

risposta

3

Non è possibile farlo completamente utilizzando il codice MATLAB puro. Su Windows, ho provato diverse combinazioni, ma la barra delle applicazioni sarà ancora in alto (quello con il pulsante Start):

%# 1) 
sz = get(0, 'ScreenSize'); 
figure('Menubar','none', 'WindowStyle','modal', ... 
    'Units','pixels', 'Position', [0 0 sz(3) sz(4)]) 

%# 2) 
figure('Menubar','none', 'Units','normalized', 'Position',[0 0 1 1]) 

%# 3) 
hFig = figure('Menubar','none', 'Units','normalized', 'Position',[0 0 1 1]); 
set(hFig, 'Units','pixels') 
p = get(hFig, 'Position'); 
set(hFig, 'Position', [1 31 p(3) p(4)-8]); 

che avrebbe dovuto scrivere una funzione MEX e chiamare direttamente l'API Win32. Fortunatamente, dovrebbero esserci delle comunicazioni esistenti su FEX che implementano tale funzionalità.


Ecco un esempio di creazione di una figura a schermo intero e punti di disegno con il mouse. Sto usando la soluzione WindowAPI da Jan Simon

%# open fullscreen figure 
hFig = figure('Menubar','none'); 
WindowAPI(hFig, 'Position','full'); 

%# setup axis 
axes('Color','k', 'XLim',[0 1], 'YLim',[0 1], ... 
    'Units','normalized', 'Position',[0 0 1 1], ... 
    'ButtonDownFcn',@onClick) 

La funzione di callback:

function onClick(hObj,ev) 
    %# draw point 
    p = get(hObj,'CurrentPoint'); 
    line(p(1,1), p(1,2), 'Color','r', 'LineStyle','none', ... 
     'Marker','.', 'MarkerSize',40, 'Parent',hObj) 
end 
+0

Questo ottimo WindowAPI è esattamente ciò di cui avevo bisogno. Grazie! – Leo

0

Prova questa:

screen_size = get(0, 'ScreenSize'); 

buff=zeros(screen_size(3),screen_size(4)); 

for i=1:50 
    buff(screen_size(3)/2-i,screen_size(4)/2+i)=100; 

end 
f1 = image(buff) 
colormap(gray) 

set(gcf,'windowstyle','modal'); 
set(gcf,'OuterPosition', screen_size); 
set(gcf,'position',screen_size); 
set(gcf,'Units','normal', 'outerposition',[0 0 1 1]) 
set(gca,'Visible', 'Off', 'Position',[0 0 1 1]) 

Utilizzare Alt + F4 (o equivalente) per uccidere la finestra. Non capisco appieno il motivo per cui devi farlo in questo modo, ma è l'unico modo che ho mai trovato per rimuovere la cornice della finestra e far sì che la trama si estenda a tutto schermo.

Problemi correlati