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