title image


Smiley Re: BufferedImage rotateImage(BufferedImage bi, double angle) ???
Naja...



Ich hab es schon mal mit AffineTransform geschrieben. Das klappte ganz gut - aber immer nur fuer einen bestimmten Winkel, da ich nach der Rotation auch wieder eine Translation machen musste, damit das Bild auch sichtbar ist:



Beispiel: Bild 100x200 Pixel. Mit linker Ecke in 0,0. Wenn ich jetzt AffineTransform nutze rotiert es ja clockwise - d.h. positive x auf positive y Achse, wenn ich mich recht erinnere. Wenn ich also um 180 Grad rotiere, ist das Bild aus dem sichtbaren Bereich "herausrotiert". Ich hoffe, die Erklärung rafft jemand.



Ich wunder mich nur - es muesste doch 1001 Funktionen in Libraries geben, die genau das machen was ich mit:



BufferedImage rotateImage(BufferedImage bi, double angle)



will. Ich hab auch keine Angst das als BlackBox zu nutzen, solange es tut. Oder gibt es die Libs nicht ? Das könnte echt sein - bei Java gibt es zwar 100 Webserver Eigenimplementierungen, aber keine gestandene Bildmanipulationslibrary, wo man einfach ein paar gute statische Funktionen hat !!!



Deswegen is Python & Co. auch so beliebt. Ich kenn da Libraries, die sind mit ein paar ausgefeilten Funktionen extrem mächtig. Rotate, Scale, Convert, Duzende FilterFunktionen, wie SchwarzWeiss, Negativ, etc...



Warum gibt es sowas nicht für Java, anstatt das 1000te Projekt, dass dasselbe macht ?



Ok theoretisch ist alles mit dem Java2D Api möglich - allerdings kann man da viel Zeit vergeuden bis man eine anstaendige Lösung findet. Wie gesagt es sind immer viele Lösungswege möglich - allerdings sind die meisten nicht performant.



Bei vielen Problemen, die wahrscheinlich X-Mal in der Vergangenheit gelöst wurden ist es immer gleich:



Ich habe mehrere Ansätze - AffineTransform, über Filter, alles in ein Byte[] und dann per Hand rotieren etc...

Dann teste ich ewig rum, bis alles läuft, dann muss ich entscheiden was am schnellsten ist - nur um dann irgendwann später irgendwo auf ein Code-Beispiel zu stossen, dass das Problem ebenfalls mit der Java2D Api - aber halt viel eleganter und schneller löst.



Warum hat sich Sun nicht bemüht, nochmal eine statische Utility-Klasse zu erstellen, die oft-genutzte Funktionen anbietet, die dann auch gleich als Beispiel dienen wie man sowas implementiert ???



Die Java-Plugins von Sun sind ja ganz drollig, aber muss man sich dann durch ewig Code arbeiten - und findet meistens doch nicht was man will.



Sorry, bin ja eigentlich ein Java Fan...



Gruss,

jago

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: