Posts Tagged ‘BVASystm’

Neugestaltung der Funktion zum Einlesen von Miniaturbildern

Sonntag, Januar 6th, 2013

Mit dem ersten Versionsupdate des Jahres 2013 gibt es gleich größere Veränderungen an dem BVASystem. Die freie Zeit zwischen den Feiertagen habe ich genutzt, um die Funktion zum Einlesen von Miniaturbildern komplett zu überarbeiten. Außerdem wurde mit der Umsetzung der Schlagwortfunktionalität begonnen, so das nun ein erster Prototyp der Komponente zum Anzeigen von Schlagwörtern begutachtet werden kann.

Einlesen von Miniaturbildern

Bisher war es so, das alle Miniaturbilder einer Bildliste nacheinander erstellt und im Arbeitsspeicher des Rechners zwischengespeichert wurden. Dies hatte zur Folge, das die Bilddatenbank bei großen Bildlisten sehr viel Arbeitsspeicher verbrauchte. Außerdem war die Reihenfolge, mit der die Bilder erstellt wurden, alles andere als optimal. Wollte man in der Liste die letzten Bilder sehen, so musste man warten, bis alle anderen davor eingelesen wurden.  Diese beiden Missstände waren für mich Grund genug, das Einlesen der Miniaturbilder zu überdenken.

In der jetzigen Version ist es so, das das Programm der Miniaturbild-Ladefunktion mitteilt, welche Bilder gerade zur Anzeige benötigt werden. Diese benötigten Bilder werden dann sofort eingelesen. Fotos, die gerade nicht mehr benötigt werden, werden von der Ladefunktion wieder freigegeben. Sobald sie wieder benötigt werden, werden sie wieder neu erstellt. Bei Bildern aus der Datenbank ist das erneute Laden kein Problem, denn da die Bilder bereits in der richtigen Größe vorliegen, geht dies sehr schnell. Kommen die Bilder hingegen von der Festplatte, muss erst das komplette Foto geladen werden, um es anschließend auf die richtige Größe zu verkleinern. Damit dies nicht immer und immer wieder gemacht werden muss, werden daher die erstellten Miniaturbilder temporär auf der Festplatte zwischen gespeichert. Mit diesem „Trick“ können die Miniaturbilder von Fotos auf der Festplatte fast genauso schnell erstellt werden, wie es bei Bildern aus der Datenbank der Fall ist.

Insgesamt konnte durch die Veränderungen erreicht werden, das die benötigten Miniaturbilder schneller zur Verfügung stehen. Auch der hohe Arbeitsspeicherverbrauch konnte beseitigt werden. Theoretisch ist es nun möglich, das Bildlisten mit beliebiger Bildanzahl erstellt werden können und jedes mal ungefähr die gleiche Arbeitsspeichergröße benötigt wird.

Komponente zur Anzeige von Schlagwörtern

Ich denke, das es an der Zeit ist, die lange vor mir her geschobene Schlagwortfunktionalität zu implementieren. Da ich mir dort relativ viel vorgenommen habe, kann ich allerdings noch nicht wirklich abschätzen, wie lange mich dieses Thema beschäftigen wird. Wahrscheinlich wird es mir ähnlich gehen, wie bei der Bildbewertungsfunktion, die mit jeder Weiterentwicklung umfangreicher wurde. Angefangen habe ich nun jedenfalls damit, eine Komponente zu erstellen, mit der die Schlagworte eines Bildes dargestellt und verändert werden können.  Da beim BVASystem Fotos nur zusammen mit einer Bildliste geladen werden können, fand ich es praktisch, wenn die Schlagworte in einer Tag-Cloud angezeigt werden. Ein groß geschriebenes Schlagwort bedeutet hierbei, das es in der aktiven Bildliste häufig vorkommt. Klein geschriebene Schlagworte kommen dagegen nur selten in der Liste vor.

Die Optik der Komponente, die im entsprechenden Panel der Bildinformationen betrachtet werden kann, gilt aber keinesfalls als endgültig. Ich denke ich werde sie noch überarbeiten müssen, da zum Beispiel dort auch die Funktion zum Löschen eines Schlagwortes mit integriert werden muss. 

Ausblick auf die nächste Version

Für die nächste Version habe ich mir vorgenommen, die Vollbildansicht zu überarbeiten. Dort stört mich zum Beispiel, das die Position des angezeigten Bildes in der Bildliste nicht ersichtlich ist. Außerdem stört der Hint, welcher einem mitteilen soll, wie der Vollbildmodus wieder verlassen werden kann. Außerdem werde ich an der Schlagwortkomponente weiterarbeiten. Ich hoffe, das ich den Prototypen, den ich in meinem letzten Jahresfazit angesprochen habe, soweit fertig bekomme, das ich ihn hier vorstellen kann.