Grafica 2D in Java
IGEA 2001-2002
contesto grafico

istanza di Graphics2D
– i metodi paint e paintComponent hanno
parametro formale Graphics per motivi
di compatibilità
» occorre eseguire cast a Graphics2D

a ciascun oggetto Graphics2D è
associato un insieme di attributi
grafici
– sono usati durante il rendering
20 maggio 2002
Grafica 2D in Java
2
attributi grafici

– spessore linee
– schema di tratteggio
– modalità di raccordo
linee (join style)
– decorazione di fine
linea (end-cap)
JOIN_BEVEL
JOIN_MITER
JOIN_ROUND
CAP_BUTT
CAP_ROUND
CAP_SQUARE
stroke consente di
definire


classe
java.awt.BasicStroke
metodo setStroke
3
attributi grafici/2

paint consente di
definire la modalità
di riempimento
– colori “solidi”
– gradienti
– schemi (pattern)


20 maggio 2002
Grafica 2D in Java
classi Color,
GradientPaint,
TexturePaint
metodo setPaint
ESEMPIO
4
attributi grafici/3
composite definisce
la modalità di
rendering di oggetti
sovrapposti ad
oggetti esistenti
 classe
AlphaComposite
 metodo
setComposite

dettagli
20 maggio 2002
Grafica 2D in Java
5
attributi grafici/4

transform definisce la
trasformazione da user-space
a device-space
– al momento del rendering
– rotazione, shearing, traslazione,
scalamento
classe AffineTransform
 metodo setTransform

20 maggio 2002
Grafica 2D in Java
ESEMPIO
6
altri attributi grafici

clip restringe l’area di rendering a
una data Shape
– metodo setClip

font
– classe Font
– metodo setFont

rendering hints
– qualità contro velocità
» es. antialiasing?
– argomento avanzato
20 maggio 2002
Grafica 2D in Java
7
immagini


public class BufferedImage extends Image
implements WritableRenderedImage
metodo per applet
Image getImage(URL url, String name)
– Image im = getImage(getDocumentBase(), "pippo.gif");
» formati supportati GIF e JPEG
– g.drawImage(im, x, y, this);
» il quarto parametro è un oggetto ImageObserver, oggetto
(l'applet, in questo caso) su cui viene visualizzata l'immagine
» nome sovraccarico – v. Graphics e Graphics2D

è possibile applicare all'immagine da disegnare
filtri, trasformazioni affini ecc.
20 maggio 2002
Grafica 2D in Java
8