Ich habe angenommen 11 Bilder diese 11 Bilder möchte ich zu einem Bild zusammenfügen indem sie sich überlappen. Man kennt das auch wenn zb 12 CDs in einem Bundler verkauft werden, dann ist auf sind auf dem Title die 12 CDs immer so eins vor dem anderen gesetzt. Hoffe jemand weiß was ich meine
Hat jemand ne Idee wie ich das mit Java lösen könnte? Muss dazusagen, dass ich noch nie mit Image -Manipulation zu tun.
Ehrlich gesagt hab ich noch nichts weiter versucht, ich wollte mir erstmal einen Überlick verschaffen ob das überhaupt funktioniert. Ich werd mal bissl was testen
Hab mir da nochmal was überlegt, es wäre eigentlich ausreichend alle Bilder in ein Raster zu packen siehe Bild
Problem dabei ist, dass die Quellbilder vermutlich nicht immer die gleichen Maße haben. Hab keinen Plan, wie ich an die Sache ran gehen soll. Hab noch niemals nicht bilder manipuliert
BufferedImage und Graphics2D sind deine Freunde um das umzusetzen. Und ich würde auch behaupten, viel Zeit dürfte das nicht benötigen.
Wenn du die Bilder in einem Raster anordnest, und die Bilder haben unterschiedliche Längen und Seitenverhältnisse, dann bleibt dir nichts anderes übrig als die Bilder in ihrem Seitenverhältnis zu skalieren. Das ist relativ einfach
Dann haben die aber halt Lücken untereinander. Wenn du jetzt versuchst den Platz möglichst effektiv mit unterschiedlich großen Bildern zu füllen, dann haben wir ein Problem. Denn dafür gibt es keine mathematische Lösung.
Ich meine, das geht auch; ist aber ab einer gewissen Eingabegröße nicht mehr in praktikabler Zeit lösbar…
@NicoDeluxe , Bilder skalieren ist in Java etwas „friemelig“, ist aber auch möglich. Es gibt unterschiedliche Skalierungs-Algorithmen (Suchbegriffe, nearest neighbor, bilinear and bicubic interpolation methods).
Klar, aber du musst halt wissen auf welche Größe, damit es in einen definierten Kasten passt, wie von Nico beschrieben.
Vielleicht kann man bei Graphics2D auch einen Skalierungsfaktor angeben, dann muss man aber immer noch wissen welcher. Das wäre oben dann eben entweder newHeightHeightRatio oder newWidthWidthRatio.
Wegen der praktikablen Zeit: Das hast du gut auf den Punkt gebracht, stimmt
Moin zusammen, das klingt ja erstmal super danke! Ich hab mit mal Bilder geben lassen die sind nahezu identisch in der Größe, das macht es einfacher denk ich dann werd ich mich bei Gelegenheit mal dran machen