![]() |
Riesiges Bild erstellen
Hallo,
ich würde gerne extrem viele Bildteile (jeweils 600 x 430 Pixel) in einem Bild zusammenfügen und dann verkleinern. Dabei stoße ich natürlich an die Grenzen meines Arbeits- und/oder Grafikspeichers. Nach einigem Suchen bin ich mittlerweile bei der Graphics32 Bibliothek angelangt, aber auch hier erhalte ich schon bei einem Bruchteil der von mir benötigten Bildgröße eine Exception:
Delphi-Quellcode:
Karte.Bitmap.SetSize(600*700, 430*3); //700 Bilder in der Breite, 3 in der Höhe
Zitat:
|
Re: Riesiges Bild erstellen
Die Frage ist, was du damit vor hast ;) Wenn dein Arbeitsspeicher nicht reicht, dann musst du andere Wege finden.
Wenn du ein Spiel programmieren willst, dann hast du ja eine fest vorgegebene Größe, die du sehen kannst, mehr geht nicht. Den Rest kannst du ja nach einem Verschieben" des Bildes nachladen. Du kannst sicherlich auch schon mehr um das Bild herum puffern, nur darf es halt einfach nicht zu viel werden. // edit du kannst das riesen Bild zwar schon in eine Datei klatschen, wobei ich dir das nicht unbedingt empfehlen würde benenne die Stücke des großen Bildes lieber sinnvoll und erarbeite dir einen sauberen Load-Aglorithmus, der immer einzelne Teile von der HDD lädt. |
Re: Riesiges Bild erstellen
.. warum verkleinerst Du die Bildteile nicht schon vor dem Zusammenfügen?
Grüße Klaus |
Re: Riesiges Bild erstellen
für riesige datenmengen einfach den virtuellen speicher von windows vergrößern.
ich hab für ein projekt 9GB freigegeben um alle notwendigen berechnungen durchzuführen ;) |
Re: Riesiges Bild erstellen
Es handelt sich eigentlich um ein Kartenprogramm :D Die Bildteile sind schon vernünftig benannt (x_y.png), aber es sind nunmal sehr viele Bildteile und jetzt möchte ich möglichst schnell eine Übersichtskarte daraus erstellen :-)
Wenn ich jedes einzelne Bild verkleinere ist das Ergebnis doch hinterher bestimmt nicht so exakt wie, wenn ich die gesamte Karte in Orginalgröße verkleinere, oder lohnt sich der Aufwand? |
Re: Riesiges Bild erstellen
Auch wenn etwas OT wird: Hast dann wenigstens ein SSD-RAID? :mrgreen: Sonst dauert das ganze Ein- und Auslagern ja ewige Zeiten...
// edit naja, überleg doch mal, was so kompression-algos machen. wenn du erst die eile verkleinerst und dann zusammenfügst bekommst du in etwas das gleiche ergebnis und sollte nicht wesentlich schlechter sein. du kannst es ja auch mal mit einer "riesen" image von 1280x1024 probieren und das auf 125x100 (geschätzt) komprimierten und dann das Ganze auch noch mit den Teilstücken machen. |
Re: Riesiges Bild erstellen
Zitat:
|
Re: Riesiges Bild erstellen
Zitat:
Verkleinere die Einzelbilder, und füge diese zusammen. Wenn du dir Sorgen um die Kachelränder machst, bastel dir einen eigenen Verkleinerungs-Algo, der die Ränder der angrenzenden Kacheln in passender Dicke mit beachtet - allerdings bezweifel ich, dass man den unterschied überhaupt wirklich wahrnehmen wird. Aber 600GB temporäre Daten sind für handelsübliche PCs und diese Aufgabe fern ab von "angemessen" bzw. machbar. |
Re: Riesiges Bild erstellen
Zitat:
|
Re: Riesiges Bild erstellen
.. vielleicht kannst Du das zusammenhängen der (verkleinerten) Bilder
auch mit externen Software bewerkstelligen - ![]() Grüße Klaus |
Re: Riesiges Bild erstellen
Danke für die vielen Hinweise.. Ich glaube ich werde mal sehen, wie weit ich mit dem Stichwort Stitching komme :-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz