Quote Originariamente inviata da fermat Visualizza il messaggio
mi puoi dare una dritta su quest'altro paio di maniche please???
Può darsi che ci siano diversi modi, quello che mi viene in mente (e che userei io senza andarmi a spulciare tutta la documentazione per vedere se ci sono altri modi) è:

- crei un nuovo BufferedImage della larghezza/altezza dell'ovale. Il BufferedImage puoi crearlo con o senza "alpha channel" (vedi Javadoc, in particolare il imageType per creare l'immagine).
- prendi il Graphics2D ( createGraphics() ) del BufferedImage e puoi riempire tutto il rettangolo con un colore fisso con/senza semi-trasparenza.
- crei un Ellipse2D.Float che modella l'ovale. L'origine deve essere 0,0 (perché è l'origine nella immagine da salvare).
- sul Graphics2D imposti l'area di "clip" ( clip(Shape s) ). Nota, Ellipse2D.Float è quello shape!
- disegni sul Graphics2D la tua immagine originale, in pratica da [x , y; w x h] di src a [0 , 0; w x h] nel BufferedImage. Il drawImage da usare è uno di quelli che hanno src e dst completi.
- fai dispose del Graphics2D e hai l'immagine da salvare.