Swing Auf ein BufferedImage mit Graphics/Graphics2D zeichnen

Developer_X

Top Contributor
Was mache ich falsch?

Ich versuche etwas auf das BufferedImage zu zeichnen aber es klappt nicht warum?
Java:
	public void createBackground()
	{
		int width  = d.width;
		int height = d.height;
		
		background = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
		
		Graphics2D g = background.createGraphics();
		g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
		g.setColor(Color.black);
		g.fillRect(0, 0, width, height);
		g.setColor(Color.white);
		for(int i = 0;i<1000;i++)
		{
			int x = (int)((Math.random()) * width  + 0); 
			int y = (int)((Math.random()) * height + 0);
			
			g.fillOval(x, y, 4, 4);
		}
		g.dispose();
	}

danke für eure hilfen, m.f.G. Developer_X
 
Der Code sollte soweit schon funktionieren.

Vllt. ist der Hintergrund weiß und da du deine Ellipsen in weiß zeichnest siehst du sie nicht.

Oder width und height sind sehr klein.

Oder du hast im Rest des Codes noch tausend Fehler, von denen hier niemand was wissen kann.

Im übrigen ist die Schleife sinnlos, da du nur an Punkten zwischen 0 und 10 zeichnest. Wenn das Bild groß genug ist, dann wirst du nie mehr als eine Ellipse sehen.
 
Du sagst es Runtime,
warum addiere ich + 0.
Also ich will eine Zufallszahl zwischen width und 0.
bzw. height und 0.
Keine Sorge, d ist meine Bildschirmgröße (1440 x 900).
Also daran kanns schon mal nicht liegen.

Ich habs heraus gefunden, war ein kleinerer Fehler, als ich das BufferedImage zeichnen wollte, auf ein Panel, musste ich feststellen, dass dieses Panel einem Frame geadded wird, das schon visible true hat.
Also habe ich das Panel erst geadded und dann visibile true gesetzt.

Trotzdem danke an alle, m.f.G. Developer_X
 
Du weißt schon, dass +0 nichts macht?

1 + 0 = 1
2 + 0 = 2 usw.
Egal auf was du die 0 addierst, es bleibt der Wert der er vorher war. Das +0 ist also sowas von hirnrissig...
 
...
Also ich will eine Zufallszahl zwischen width und 0.
bzw. height und 0.
...

Wie wärs mit einer Zufallszahl zwischen 0 und width (height)?

Java:
import java.util.Random;
...
Random random = new Random();
...
int z1 = random.nextInt(width); //0 bis width - 1
int z2 = random.nextInt(height); // 0 bis height - 1
...
 

Zurück
Oben