Creare Pagina Grigia di Sfondo

di il
1 risposte

Creare Pagina Grigia di Sfondo

Salve a tutti,
ho un piccolo problema che purtroppo non riesco a risolvere (uso matlab da pochissimo).
Dovrei creare una pagina Grigia di sfondo (RGB 0.5 - 0.5 - 0.5) su cui mostrare diverse immagini che carico successivamente.

Prima utilizzavo una scheda grafica vsg che ha un comodissimo comando per settare la palette dei colori; purtroppo in questo caso devo rinunciarvi e mi occorre trovare una soluzione alternativa.

Qualcuno ha una soluzione al mio problema?

Grazie a chiunque mi risponda.

1 Risposte

  • Re: Creare Pagina Grigia di Sfondo

    Risolto: per chiunque avesse lo stesso problema ecco lo stralcio di codice. Ho utilizzato le psychtoolbox per comodità.

    
    
    try
        
        oldVisualDebugLevel = Screen('Preference', 'VisualDebugLevel', 3);
        oldSupressAllWarnings = Screen('Preference', 'SuppressAllWarnings', 1);
    	
       % Find out how many screens and use largest screen number. 
        whichScreen = max(Screen('Screens'));
        window = Screen('OpenWindow', whichScreen);
        
       % Trovo la risoluzione del monitor ed i valori centrali 
        PsychImaging('PrepareConfiguration');
        [win winRect] = PsychImaging('OpenWindow', window, 128);
        [w, h] = RectSize(winRect);
    
       % Nascondo il cursore del mouse
    	HideCursor;
    
       % Setto il codice-colori
        black = BlackIndex(window);  % Retrieves the CLUT color code for black.
    	white = WhiteIndex(window);  % Retrieves the CLUT color code for white.
    	gray = (black + white) / 2;  % Computes the CLUT color code for gray. 
        
       % Mostro la schermata grigia iniziale 
    	Screen('FillRect', window, gray);
    
       % [......] Creo gli elementi da mostrare nello schermo
       
              % Disegno l'immagine
                t = Screen('MakeTexture',window,patt);
             Screen('DrawTextures',window,t,[],[coord(1),coord(2),coord(1)+col(1,1),coord(2)+col(1,2)]);
    
         % Disegno l'immagine finale sullo schermo
            Screen('Flip', window); 
        
      % Chiudo tutte le finestre
    	Screen('CloseAll');
    	 
      % Mostro il cursore
    	ShowCursor;
    
      % Ripristino le preferenze
        Screen('Preference', 'VisualDebugLevel', oldVisualDebugLevel);
        Screen('Preference', 'SuppressAllWarnings', oldSupressAllWarnings);
    catch
        Screen('CloseAll');
    
      % Mostro il cursore
    	ShowCursor;
        
      % Ripristino le preferenze
        Screen('Preference', 'VisualDebugLevel', oldVisualDebugLevel);
        Screen('Preference', 'SuppressAllWarnings', oldSupressAllWarnings);
    
      % In caso di errore mostro la tipologia di errore
    	psychrethrow(psychlasterror);
        
    end
    
    
Devi accedere o registrarti per scrivere nel forum
1 risposte