2009-02-22 13 views
13

Sono sicuro che questa è una domanda molto stupida ma non riesco a trovare la risposta, non ho esperienza con l'API Java2D. Sto cercando di creare un'immagine e scriverla in formato GIF o PNG e voglio che utilizzi una penna nera su uno sfondo bianco. Se non applico alcun colore, ottengo bianco su nero. Se uso setPaint() (inteso per le successive operazioni di disegno) ottengo l'intera tela ridipinta con quel colore. Il seguente esempio rende il tutto nero.Graphics2D: disegno nero su bianco?

L'esempio è in Scala ma si ottiene l'idea. Sentiti libero di rispondere in Java!

val bi = new BufferedImage(200, 400, BufferedImage.TYPE_BYTE_BINARY) 
    val g = bi.createGraphics 
    g.setBackground(Color.WHITE) 
    g.setPaint(Color.BLACK) 
    g.draw(new Rectangle(10, 10, 30, 20)) 

risposta

29

Il metodo setBackground è/era solo per l'utilizzo con il metodo clearRect.

Riempire il rettangolo con il colore di sfondo prima della verniciatura:

int width = 200; 
int height = 400; 
BufferedImage image = new BufferedImage(width, height, 
          BufferedImage.TYPE_BYTE_BINARY); 
Graphics g = image.createGraphics(); 
g.setColor(Color.WHITE); 
g.fillRect(0, 0, width, height); 
g.setColor(Color.BLACK); 
//ready for drawing 
Problemi correlati