2011-09-19 16 views

Respuesta

3

No se puede hacer eso totalmente usando el código MATLAB puro. En Windows, he intentado diferentes combinaciones, pero la barra de tareas todavía estaré en la parte superior (la que tiene el botón de inicio):

%# 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]); 

que tendría que escribir una función MEX y llamar a la API de Win32 la directa. Afortunadamente, debe haber presentaciones existentes en FEX implementando dicha funcionalidad.


Aquí hay un ejemplo de creación de una figura de pantalla completa y puntos de dibujo con el mouse. Estoy utilizando la solución WindowAPI por Ene 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 función de devolución de llamada:

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

Este gran WindowAPI es exactamente lo que necesitaba. ¡Gracias! – Leo

0

Prueba esto:

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]) 

Utilice Alt + F4 (o equivalente) para matar a la ventana. No entiendo completamente por qué tienes que hacerlo de esta manera, pero es la única forma que he encontrado para eliminar el marco de la ventana y hacer que la trama se extienda a pantalla completa.

Cuestiones relacionadas