Tag auch,
ich plane eine Bildverwaltung zu schreiben und hab da 3 fragen die mich seit einiger Zeit plagen, und zwar:
1.) Wie sieht die Speicherbelastung aus? Wenn mein Panel eine Dimension von 500x500 hat und ich dort ein Gird zum anzeigen von 9 skalierte Bilder als "Icon" darstellen möchte; 1.) Wird da das ganze Bild geladen und nur skaliert angezeigt, 2.) Wird es in den Speicher geladen, eine Kopie zum skalieren erstellt genutzt und beide Varianten hängen im Speicher?
2.) Wenn ich Bilder in meine Anwendung lade, zB per Selektion eines Knoten in einem Tree der das Filesystem abbildet, wie viele Bilder sollten idealerweiße geladen werden um weiteres nachladen zu "ersparen" (unabhängig von der Bildschirmauflösung)?
3.) Gibt es einen geeigneten Algorithmus zum anzeigen von Bildern?
Was Punkt 3 angeht hätte ich schon eine gewisse Vorstellung, bin mir aber nicht wirklich sicher ob das jetzt der ideale Weg zum Ziel ist, da ich mir hauptsächlich um den Speicherverbrauch gedanken mache:
Eine TreeNode wurde selektiert, eine Funktion greift sich rekursive alle jpgs, pngs, und gifs und steckt diese in eine Liste. Die Bildschirmauflösung ist analysiert und und legt die anzahl Grids in dem Panel zum anzeigen der Bilder fest (zB 9 Bilder im Anzeigebereich). Eine weitere Liste mit der Anzahl zu anzeigenden Bilder wird festgelegt inder sich die maximale Zahl der zu ladenden Bilder um 2 Reihen erweitert, für hoch und runter scrollen. Soll heißen, 9 Bilder sieht man, effektiv sind aber 15 Bilder geladen um ein Unterbrechen zu verhindern. Jenachdem in welche richtung der Balken gescrollt wird, zB nach unten, wird aus der Liste der Bilder im Anzeigebereich die ersten 3 Einträge gelöscht, der Inhalt repositioniert (um 3 zurück verschoben) und aus der Liste die die gespeicherten Pfade beinhält werden die nächsten 3 Bilder ans Ende der Bilderliste im Anzeigebereich hinzugefügt.
Wenn es jemand nicht verstanden hat, tut mir leid, ist nicht wirklich einfach zu erklären.
Würd mich über Antworten freuen
Mfg satou
ich plane eine Bildverwaltung zu schreiben und hab da 3 fragen die mich seit einiger Zeit plagen, und zwar:
1.) Wie sieht die Speicherbelastung aus? Wenn mein Panel eine Dimension von 500x500 hat und ich dort ein Gird zum anzeigen von 9 skalierte Bilder als "Icon" darstellen möchte; 1.) Wird da das ganze Bild geladen und nur skaliert angezeigt, 2.) Wird es in den Speicher geladen, eine Kopie zum skalieren erstellt genutzt und beide Varianten hängen im Speicher?
2.) Wenn ich Bilder in meine Anwendung lade, zB per Selektion eines Knoten in einem Tree der das Filesystem abbildet, wie viele Bilder sollten idealerweiße geladen werden um weiteres nachladen zu "ersparen" (unabhängig von der Bildschirmauflösung)?
3.) Gibt es einen geeigneten Algorithmus zum anzeigen von Bildern?
Was Punkt 3 angeht hätte ich schon eine gewisse Vorstellung, bin mir aber nicht wirklich sicher ob das jetzt der ideale Weg zum Ziel ist, da ich mir hauptsächlich um den Speicherverbrauch gedanken mache:
Eine TreeNode wurde selektiert, eine Funktion greift sich rekursive alle jpgs, pngs, und gifs und steckt diese in eine Liste. Die Bildschirmauflösung ist analysiert und und legt die anzahl Grids in dem Panel zum anzeigen der Bilder fest (zB 9 Bilder im Anzeigebereich). Eine weitere Liste mit der Anzahl zu anzeigenden Bilder wird festgelegt inder sich die maximale Zahl der zu ladenden Bilder um 2 Reihen erweitert, für hoch und runter scrollen. Soll heißen, 9 Bilder sieht man, effektiv sind aber 15 Bilder geladen um ein Unterbrechen zu verhindern. Jenachdem in welche richtung der Balken gescrollt wird, zB nach unten, wird aus der Liste der Bilder im Anzeigebereich die ersten 3 Einträge gelöscht, der Inhalt repositioniert (um 3 zurück verschoben) und aus der Liste die die gespeicherten Pfade beinhält werden die nächsten 3 Bilder ans Ende der Bilderliste im Anzeigebereich hinzugefügt.
Wenn es jemand nicht verstanden hat, tut mir leid, ist nicht wirklich einfach zu erklären.
Würd mich über Antworten freuen
Mfg satou
Zuletzt bearbeitet: