Ich habe mal wieder eine ganze Weile nichts geschrieben und muss dieses nun aufholen. Die lange Pause hatte sicherlich viel mit der Arbeit zu tun, allerdings auch mit einigen privaten Projekten.
Ich habe in der letzten Zeit ein wenig mit dem PivotViewer herumgespielt und das Resultat kann man sich nun als neue Bildergallerie ansehen (kobolde2.de).
Dies soll nun die neue Bildergallerie der Seite werden und kann stets upgedatet werden.
Als verwendete Technologie kommt hier Silverlight zum Einsatz. Der PivotViewer ist ein Control, welches heruntergeladen und ins Projekt eingebunden werden muss. Das Handling der Sortierung, Suche usw. übernimmt das Control von alleine, man muss es nur mit einer passenden Collection (Schema) an Bildinformation versorgen. Dazu gibt es verschiedene Möglichkeiten:
- Pivot Collection Tool for the Command Line
- Pivot Collection Tool for Microsoft Excel
- Sample Code for Creating Just in Time Pivot Collections
Für den leichten Einstieg und dem schnellen Erfolg sollten man sich die Excel Tools einfach mal ansehen. Bilder und Kategorien hinzufügen, Veröffentlichen und das Ergebnis bestaunen. Um das Ergebnis anzeigen zu lassen sind folgende Schritte notwendig (Silverlight Projekt setze ich jetzt einfach mal voraus):
- Verweis auf System.Windows.Pivot
- in der MainPage.xaml eine Referenz alâ
xmlns:pivot="clr-namespace:System.Windows.Pivot;assembly=System.Windows.Pivot" - hinzufügen des Controls an beliebiger Stelle
<pivot:PivotViewer x:Name="PivotViewer" Width="720" /> - laden der fertigen Collection
PivotViewer.LoadCollection(http://serverurl.de/fertiges.cxml, string.Empty);
Warum dieses Control? Was ist so besonders daran?
Abgesehen von dem bereits fertigen Funktionen nutzt das Control “DeepZoom”, eine Technik bei der nur die Inhalte vom Server geladen werden, die auch benötigt werden. Dazu wird bei der Erstellung der Collection jedes einzelne Bild in viele viele Einzelbilder zerstückelt. Je nach Größe des Ursprungsbildes können sehr viele einzelne Dateien mit einer geringen Bildgröße erstellt werden. Wird nun das Control geladen, wird quasi ein Übersichtsbild geladen. Fängt der Benutzer an in das Bild hinein zu zoomen, werden einzelne Teilbilder unbemerkt für den Benutzer zur Laufzeit nachgeladen. Das bedeutet, das zwar eventuell auf dem Server eine größere Datenmenge für die Bilder vorgehalten werden muss, für den Benutzer die Ladezeit jedoch optimiert ist und er eine schöne freundliche Oberfläche erhält.
Die Steuerung in dem Control ist relativ einfach gehalten. Der Benutzer kann durch verschiedene Filter die Auswahlmenge eingeschränken, die Bilder durch verschiedene Sortierungen der Kategorien anders aufbereitet darstellen. Eine Navigation mit der Tastatur ist ebenso möglich.
Schaut’s euch einfach mal an ![]()
Letzte Kommentare