Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

ich habe hier ein Programm, dass einen Ordner nach Bildern durchsucht und diese alle als Thumbnails in einer Liste darstellt.

Das Auslesen und Resizen der Bilder dauert einige Zeit, vor allem, wenn in dem Ordner wirklich viele und hochauflösende Bilder sind. Um das ganze etwas zu beschleunigen, habe ich mir gedacht, man könnte ja beim erstenmal eine Thumbnaildatei anlegen, in der die fertig verkleinerten Bilder gespeichert werden.

Wenn der Ordner dass nächstemal ausgewählt wird, wird zuerst überprüft, ob es in dem Ordner schon eine Thumbnaildatei gibt und wenn ja, wird nur diese geladen. Das dürfte um einiges schneller gehen.

Paint Shop Pro macht das auch so (zumindest die alten Versionen).

Allerdings habe ich keine Ahnung, wie ich die ganzen Thumbnails in EINER Datei speichern soll, so dass ich sie auch wieder auslesen kann... Kann mir jemand einen Vorschlag machen, wie man das lösen könnte?

Ich programmiere in QT 4.1.4, sollte aber keine große Rolle spielen, da es hier eigentlich ums Prinzip geht.

Geschrieben

Allerdings habe ich keine Ahnung, wie ich die ganzen Thumbnails in EINER Datei speichern soll,

Wie wäre es mit alle hintereinander und unter Angabe des Bildnamens, damit Du sie auch zuordnen kannst? ;)

Sobald Verzeichnisinhalt und Vorschaudateiinhalt nicht mehr übereinstimmen, musst Du die Datei neu erzeugen. Das ganze kannst Du natürlich noch verfeinern, so dass Du z.B. auch Vorschaubilder aus der Datei nachträglich löschen kannst, usw.

PS: Einige Dateiformate integrieren bereits eine eigenes Vorschaubild, dieses könntest Du direkt verwenden.

Geschrieben
Wie wäre es mit alle hintereinander und unter Angabe des Bildnamens, damit Du sie auch zuordnen kannst? ;)

Und wie erkenne ich dann in der Datei, wann ein Bild aufhört und das nächste anfängt? Wie soll ich das dann wieder auslesen?

PS: Einige Dateiformate integrieren bereits eine eigenes Vorschaubild, dieses könntest Du direkt verwenden.

Bei den Bildern handelt es sich um alle möglichen Typen. Ich darf nicht einfach die Dateiformate konvertieren, bzw. ich darf die Originalbilder überhaupt nicht verändern. Dieser Vorschlag fällt also falch.

Geschrieben
Und wie erkenne ich dann in der Datei, wann ein Bild aufhört und das nächste anfängt? Wie soll ich das dann wieder auslesen?

Indem Du die Größe Deiner Vorschaudaten kennst (falls konstant) oder einfach mit abspeicherst...

Bei den Bildern handelt es sich um alle möglichen Typen. Ich darf nicht einfach die Dateiformate konvertieren, bzw. ich darf die Originalbilder überhaupt nicht verändern. Dieser Vorschlag fällt also falch.

Ich habe nie gesagt, dass Du Originaldateien verändern sollst. Ich habe gesagt, Du kannst die in einigen Dateiformaten vorgesehenen Vorschaubilder, falls vorhanden, benutzen, ohne in jedem Fall eigene Vorschaubilder erstellen zu müssen.

Geschrieben

Verwende doch eine Struktur. Leg die Größen fest, nicht zu großzügig. und schreib dann eine Binärdatei, an die du immer dranhängst wenn nicht schon vorhanden.

hast dann:

- bildgröße in byte

- dateiname, n char mit 100 elementen zB

- vielleicht noch ne checksumme?

- und dann die bilddaten, bytearray

schon lang kein c++ mehr gemacht *g ... aber das alles dürfte funktionieren.

danach gehst du nur noch mit einer schleife durch.

Schau einfach mal im internet wie man strukturen in eine Datei schreibt unter c++ ... das wird schon viel erklären.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...