Visualizzazione dei risultati da 1 a 10 su 15

Hybrid View

  1. #1
    intanto grazie per le dritte.

    allora, fino a un certo punto ok.
    poi mi sono perso.
    codice:
            public void capture(ActionEvent e) {
                BufferedImage subBuff = new BufferedImage(w, w, BufferedImage.TYPE_INT_RGB);
                Graphics2D g2d = subBuff.createGraphics();
                g2d.setColor(Color.white);
                Shape shape = new Ellipse2D.Float();
                g2d.setClip(shape);
                g2d.drawImage(buff, xx, yy, w, w, 0, 0, w, w, ImageObserver);
            }
    principalmente sul metodo drawImage.
    nella javadoc ho visto che ne esistono molte versioni diverse.
    io pensavo a questo, che mi sembrava completo come dicevi.
    solo che richiede un oggetto ImageObserver.....

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fermat Visualizza il messaggio
    allora, fino a un certo punto ok.
    poi mi sono perso.
    Ci sono almeno 4 cose da sistemare:

    1) setColor per il white setta solo lo stato del colore ... non riempie la immagine, devi fare un fillRect tu per questo..
    2) Il Ellipse2D.Float lo devi creare con origine 0,0 ma con la dimensione del tuo ovale (cerchio nel tuo caso), altrimenti è inutile.
    3) Il ImageObserver serve quando una immagine è caricata in modo asincrono oppure quando è una immagine animata (es .gif) e un componente ha bisogno di "osservare" i continui aggiornamenti. Se la tua immagine originale è un BufferedImage, non ci sono "aggiornamenti" in tal senso, quindi puoi passare null.
    4) Ad "occhio" hai scambiato l'origine sorgente/destinazione nel drawImage. Il 2°/3° parametro sono l'origine nella immagine di destinazione (subBuff) quindi lì deve essere 0,0.

    E ricorda il dispose del Graphics2D alla fine.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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