Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Colore Esadecimale

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    28

    Colore Esadecimale

    Salve a tutti,
    Ho una funzione chiamata render();
    codice:
    public void render()
         {
            for(int y =0; y<altezza; y++)
            {
                for(int x = 0; x<largezza; x++)
                {
                    pixels[x+y*largezza] = 0x0000FF;
                    
                    
                }
            }
        }

    La linea pixels[x+y*largezza] = 0x0000FF va a colorare il frame di blu, ma quando lo vado ad aprire
    visualizzo uno sfondo nero??

    Qualcuno può aiutarmi?
    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    E come possiamo aiutarti se non sappiamo assolutamente nulla di nulla?
    Hai postato solo una funzione che non fa altro che mettere dei valori in un array... come possiamo sapere noi dove viene fatta la visualizzazione? Chi fa la visualizzazione? Da dove prende i dati da visualizzare? Cosa dovrebbe visualizzare? Perchè dovrebbe visualizzarli? Non sappiamo nulla di nulla di quello che serve per rispondere alla tua domanda...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    scusa la mia ingenuità, ma non manca il canale alpha? Non dovrebbe essere 0xAARRGGBB?

    Quindi per la JVM 0x0000FF sarebbe
    00 -> Alpha Channel (immagine trasparente)
    00 -> Red Channel (niente rosso)
    FF -> Green Channel (tutto verde)
    e informazione blu mancante (quindi 00). Risultato, secondo me: immagine verde ma completamente trasparente e quindi invisibile.

    Prova con
    codice:
    0xFF0000FF
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    28
    Qui dichiaro le variabili image e pixels
    codice:
    private BufferedImage image = new BufferedImage(largezza, altezza, BufferedImage.TYPE_INT_RGB);
    private int[] pixels = ((DataBufferInt)image.getRaster().getDataBuffer()).getData();
    Questo è il codice che dovrebbe mettere tutto sullo schermo
    codice:
    public void render()
        {
            BufferStrategy bs = getBufferStrategy();
            if (bs == null) {
                createBufferStrategy(3);
                return;
            }
            screen.render();
            
            
            for (int i = 0; i > pixels.length; i++)
            {
                pixels[i] = screen.pixels[i];
            }
            
            Graphics g = bs.getDrawGraphics();
            g.drawImage(image, 0, 0, getWidth(), getHeight(), null);
            
            g.dispose();
            bs.show();
            
            
        }
    Spero di aver postato tutto il codice sufficiente
    Ciao

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ancora non ho capito bene quali siano i componenti in gioco, ma di sicuro quel ciclo for è sbagliato (non viene proprio eseguito): la condizione è scritta al contrario.

    codice:
    for (int i = 0; i < pixels.length; i++)

    Prova a modificare così, vediamo se vien fuori qualcosa, anche se ne dubito... quel ciclo for riempie un altro array, che non vedo utilizzato da nessun'altra parte nel tuo codice.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    28
    Grazie mille era quello il problema!
    Ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.