Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [java] BufferedImage con Sfondo pre impostato Bianco

    Buongiorno chiedo se è possibile avere già la image con uno sfondo di colore preimpostato, oppure se è necessario eseguire il ciclo su tutti i pixel ed impostarlo. Saluti.


    codice:
    BufferedImage image = new BufferedImage(300,300,BufferedImage.TYPE_INT_RGB);
    image.setRGB(x,y, new Color(255,0,0).getRGB());
    jabjoint

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,197
    Puoi ottenere il Graphics e disegnarci sopra un rettangolo del colore che preferisci:

    codice:
    BufferedImage image = ...;
    Graphics2D g = image.createGraphics();
    g.setColor( Color.RED );
    g.fillRect(0, 0, 300, 300);   // Creo un rettangolo rosso con coordinate (0, 0) e dimensioni (300 x 300)
    ...

    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
    Quote Originariamente inviata da jabjoint Visualizza il messaggio
    Buongiorno chiedo se è possibile avere già la image con uno sfondo di colore preimpostato, oppure se è necessario eseguire il ciclo su tutti i pixel ed impostarlo.

    codice:
    BufferedImage image = new BufferedImage(300,300,BufferedImage.TYPE_INT_RGB);
    image.setRGB(x,y, new Color(255,0,0).getRGB());
    Se crei un nuovo BufferedImage così, è perché (generalmente/tipicamente) ci devi poi disegnare dentro qualcosa. Allora prima dei disegni fai semplicemente un fill del colore che vuoi, es. bianco.

    NON serve fare alcun "ciclo".
    codice:
    Graphics2D g2d = image.createGraphics();
    g2d.setColor(Color.WHITE);
    g2d.fillRect(0, 0, 300, 300);
    
    // altri disegni che vuoi con il Graphics2D .....
    g2d.dispose();
    
    // usa image dove vuoi ...

    P.S. il dispose() va fatto sempre.

    P.S.2 LeleFT, abbiamo postato nello stesso minuto!
    Ultima modifica di andbin; 16-06-2021 a 13:54
    AndreaSenior Java developerSCJP 5 (91%) – SCWCD 5 (94%)
    Il mio nuovo sito-blog italiano sulla programmazione: andbin.it

  4. #4
    Grazie ad entrambi. In effetti non so nemmeno perche' non ci ho pensato subito.
    jabjoint

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 © 2021 vBulletin Solutions, Inc. All rights reserved.