# Spontanes Problem mit rotate()



## Fats (30. Jan 2007)

Hallo zusammen!

Ich werd grad verrückt! Hab eben die Funktion rotate() ausprobiert. Ging alles ganz easy und wunderbar. War gar kein Problem, Zeile einbauen, und zack wurde alles gedreht. Soweit so gut. Danach hab ich etwas aufgeräumt, das rotate in eine Funktion verschoben und von da an geht plötzlich nix mehr?!?!  ???:L Äh!?

Ich hab jetzt alles wieder rausgeworfen und auf ein Minimum reduziert. Kann jemand von Euch sehen, was ich evtl. zu viel rausgeworfen und vergessen habe?


```
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = img.createGraphics();              
g2d.setBackground(Color.GRAY);           
g2d.setColor(Color.RED);
g2d.drawString("Hallo Echo",10,20);
g2d.rotate(10.0);
g2d.drawString("Huhu Otto!",60,30);
g2d.dispose();        
ImageIO.write(img, image_type, new File(filename));
```

Faszinierend ist, daß der zweite String gar nicht mehr gezeichnet wird! Erst wenn ich die rotate() Zeile rauswerfe, dann wird auch der wieder gemalt ... 

Hat da jemand spontan eine Idee, worans liegen könnte? Wäre klasse!

Viele Grüße
Fats


----------



## Beni (30. Jan 2007)

"rotate" arbeitet mit Bogenmas, nicht mit Gradmas, wahrscheinlich wird dein String einfach ausserhalb des Bildes gemalt.

Mit "Math.toRadians" kannst du Grad übrigens in Bogenmas umrechnen lassen.


----------



## Fats (31. Jan 2007)

Beni hat gesagt.:
			
		

> "rotate" arbeitet mit Bogenmas, nicht mit Gradmas, wahrscheinlich wird dein String einfach ausserhalb des Bildes gemalt.
> 
> Mit "Math.toRadians" kannst du Grad übrigens in Bogenmas umrechnen lassen.


Danke! Das war der eine Punkt! Das andere: Man muß anscheinend erst sagen, daß man rotieren möchte und dann den Text schreiben! Ich dachte immer umgekehrt.

Korrekt ist jetzt also:

```
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = img.createGraphics();             
g2d.setBackground(Color.GRAY);           
g2d.setColor(Color.RED);
g2d.rotate(Math.toRadians(10.0));
g2d.drawString("Hallo Echo",10,20);
g2d.dispose();       
ImageIO.write(img, image_type, new File(filename));
```


----------

