"Fotoalbum" mit Thumbnails und interaktiver Großdarstellung

Plattform für technische und gestalterische Fragen und Antworten zu m.objects, der Hersteller beteiligt sich gerne...
Antworten
Karsten P
Beiträge: 94
Registriert: 24.01.18, 18:46

"Fotoalbum" mit Thumbnails und interaktiver Großdarstellung

Beitrag von Karsten P »

Liebe m.objects-Freunde,

im Zuge der Digitalsierung alter Negative und Dias bastele ich zur Zeit an einem "Digitalen Fotoalbum. Folgende Funktionalität ist dafür angedacht:

+ Auf einem Bildschirm werden 20 Bilder gleichzeitig angezeigt ("Thumbnails", realisiere ich mit 20 übereinander angeordneten Spuren und entsprechender Größe und Positionierung der Bildfelder zu einer 5x4 Matrix)

+ Klick auf ein Bild soll zu einer (annähernd) bildschirmfüllenden "Großdarstellung" führen; ein weiterer Klick soll wieder zu der Darstellung der 20 "Thumbnails" führen.

Hier beginnt das Problem: Ideal wäre natürlich die Bildfeld-Funktion "Interaktivität --> Live-Zoom". Hierdurch lässt sich das Bild bei Klick auf das Bildfeld zwar smooth vergrößern, es bleibt jedoch durch alle auf den Spuren darüber liegenden Thumbnails überdeckt (leider gibt es keine Funktion, die das live-gezoomte Bild automatisch in den Vordergrund spielt).
Die Alternative, die ich realisiert habe funktioniert mit Sprungmarken, sprich: die 20 Bilder sind in Großdarstellung weiter hinten auf der Timeline noch einmal auf den 20 Spuren angeordnet, jedoch zeitlich versetzt, wobei am Beginn der Lichtkurve jeweils eine Sprungmarke auf der Timline ist, auf den von der "Thumbnailseite" aus gesprungen wird (wieder über die Interaktivität des Bildfeldes der kleinen Thumbnail-Darstellung). Problem dabei ist jedoch, dass für JEDES Bild in der Show dann ein Paar aus einem "Sprungziel" im Thumbnail-Bildfeld und der jeweiigen Sprungmarke an der Großdarstellung erstellt werden muss - sehr umständlich.

Ich hoffe, ich habe mich verständlich ausgedrückt - hat vielleicht jemand eine andere / elegantere Lösung, die ohne die Vielzahl individuell zu erstellender Sprungziele und Sprungmarken auskommt.

Vielen Dank für Euren Input!


Karsten P
gmgroeb
Beiträge: 258
Registriert: 09.01.05, 14:05

Re: "Fotoalbum" mit Thumbnails und interaktiver Großdarstellung

Beitrag von gmgroeb »

Hallo Karsten,

wenn du viel Zeit für ein unbefriedigendes Ergebnis investieren möchtest, solltest du den Ansatz m.objects für ein Fotoalbum zu „vergewaltigen“ weiterverfolgen. Als langjähriger m.objects Anwender – bereits seit analogen Zeiten – halte ich das Programm hierfür weder entwickelt noch sinnvoll einsetzbar.

Heute bieten doch alle Cloud-Anwendungen von Google, Microsoft, Dropbox & Co. ein Fotoalbum an. Hier eine 5-Minuten-Implementierung mit Microsoft OneDrive..

Wenn du keine Cloud-Anwendung möchtest, so gibt es eine Vielzahl von Programmen – auch kostenlose – welche Fotoalben erstellen, die auch lokal gespeichert werden können. Ich verwende u.a. jAlbum. Hier ein Beispiel von meiner Homepage.

Ich denke, du solltest deinen Ansatz noch mal überdenken und ich wünsche dir dabei und bei der Umsetzung viel Spass und Erfolg.

Gruß
Gerhard
m.objects pro, AGANDO (Ryzen 5 6x 3.6GHz, 16GB, GeForce GTX 1060), Lenovo ThinkPad L430 (i5, 8GB, Intel HD Graphics 4000)
www.gerhard-meissner.de
hora58
Beiträge: 376
Registriert: 18.07.15, 15:02
Wohnort: München
Kontaktdaten:

Re: "Fotoalbum" mit Thumbnails und interaktiver Großdarstellung

Beitrag von hora58 »

Hallo Karsten, hallo Gerhard,

na ja... Grundsätzlich gebe ich Gerhard schon recht. Man muss nicht mit m.objects "das Rad neu erfinden", wenn es Spezialanwendungen für genau die entsprechende Aufgabe gibt...
...aber man kann, wenn man Muße dazu hat ;-)
Ob das jetzt eine Vergewaltigung ist, wenn man mit m.objects komplexere Dinge realisiert, als "nur" ein paar hundert Bilder nacheinander abzuspielen und mit Musik, O-Ton und Kommentaren zu versehen? Ich finde nicht.

Zu Karstens Problem (Falls es nach Gerhards Einwand überhaupt noch besteht ;-):
Ein "Fotoalbum" mit 20 Bildern pro Seite, finde ich eher ungewöhnlich - ausser im Format DIN-A0...
Wäre doch schade um die aufwändig digitalisierten "Schätze". Dann reicht auch der Windows Explorer oder die "Kachelansicht" in Lightroom.

Ich würde die Bilder ähnlich, wie in einem analogen Fotoalbum präsentieren - wenn schon.
3 bis 6 Bilder pro (Doppel)Seite und dann wieder "umblättern".
Das hat MO-Technisch gesehen, den Vorteil, dass das Konstrukt nicht zu komplex wird und durch den "mehrseitigen" Ansatz durch Copy/Paste erweitert werden kann.
Zugegeben - es ist schon eine kleine Sprungmarkenorgie nötig, aber einmal aufgebaut, immer wieder verwendbar.

Um das Problem der gegenseitigen Überlagerung bei gleichzeitigem Einsatz von jeweils nur einer Bildinstanz zu lösen, bin ich folgendermaßen vorgegangen:
Die Show läuft bis zur Wartemarke A. Dort liegen alle 6 Bilder untereinander und werden mit entsprechenden Bildfeldeinstellungen auf den Albumseiten (Hintergrund auf der untersten Spur) verteilt.
Die Bildfeldobjekte lösen einen Sprung zu den Indexmarken (Pos.B) aus.
Wichtig dabei ist, das jeweilige Sprungziel auf den darunterliegenden Spuren nach hinten zu verschieben, damit es beim Vergrößern der Bilder zu keiner Überdeckung kommt.
Zwischen B und C wird das Bild vergrößert und/oder rotiert und bleibt vor der Wartemarke C stehen.
Nach dem Betrachten, wird per Bildfeldinteraktion mit einem Mausklick die Wartemarke überwunden und das Bild wird zwischen der Indexmarke (Pos.C) und der letzten Marke (Pos. D) wieder verkleinert. Die letzte Indexmarke erhält einen Sprungbefehl zurück zur Ausgangsposition vor Wartemarke A. Usw. usw. usw....
Fotoalbum_prinzip_2.JPG
Das ganze Konstrukt kann man kopieren um damit die nächste Seite des "Fotoalbums" anzulegen. Die Bezeichnungen der Indexmarken müssen angepasst werden und die Bilder ausgetauscht.
Bei dieser Variante ist es auch möglich den Bildern im Album Beschriftungen zuzuordnen.
Auf zwei weiteren Spuren liegen die Schaltflächen (Pfeile) um zwischen den einzelnen Seiten zu navigieren.
Funktioniert übrigens auch als programmunabhängige .EXE Datei.

Das Ergebnis:
https://vimeo.com/668426055/7c23d1a718

Viele Grüße
Horst
m.objects X2023 (2610) Creative, XMG Neo 32GB und Nvidia GTX2070 Super 8GB , Win10/64 Pro ... | Mitglied bei www.av-dialog.de | ...
hora58
Beiträge: 376
Registriert: 18.07.15, 15:02
Wohnort: München
Kontaktdaten:

Re: "Fotoalbum" mit Thumbnails und interaktiver Großdarstellung

Beitrag von hora58 »

Nachtrag zur Nachtschicht von heute morgen:

Was habe(n) ich(wir) gelernt?
Dank der Funktionsvielfalt von m.objects lässt sich im Grunde jede Darstellung und jeder Ablauf realisieren.

Was hat Gerhard gesagt?
...das Programm hierfür weder entwickelt noch sinnvoll einsetzbar
Ich würde nach ein paar Stunden Abstand zwar weiterhin behaupten, dass m.objects dafür einsetzbar ist (Siehe Ergebnis),
aber ursprünglich entwickelt wurde es dafür nicht. (Aber was nicht ist... )
m.objects kann naturgemäß gut "nach Vorne" . Rücksprünge auf der Timeline mag's nicht so gerne.
(Diaprojektoren haben wir ja auch erst am Ende der Schau zurücklaufen lassen ;-)

Beim Abspielen der Show mit "nur" 13 unterschiedlichen Bildern mit Passepartout (kein Zoom, kein Blur, kein Schatten, kein 3D) 12 Textelementen und ein paar Dutzend Interaktionen mit Bildfeldern, Warte- und Indexmarken gerät die Grafikkarte (und keine schlechte) gehörig in's Schwitzen!?

Am Haupt- und Videospeicher liegt's nicht - da wurde kaum etwas belegt - aber bei den einzelnen Bildaufrufen zwischen 30% und 100% "berechnet".
Wenn man aber die üblichen "Tricks" beherzigt ( Aufteilung der Inhalte auf mehreren Spuren, entsprechende Abstände zwischen den anzuspringenden Blöcken auf der Timeline, Ausdehnen von Lichtkurven mit dem "Pfeilobjekt" etc. dann läuft's jedoch.

Also Karsten - überleg's Dir noch mal.

Viele Grüße
Horst
m.objects X2023 (2610) Creative, XMG Neo 32GB und Nvidia GTX2070 Super 8GB , Win10/64 Pro ... | Mitglied bei www.av-dialog.de | ...
Karsten P
Beiträge: 94
Registriert: 24.01.18, 18:46

Re: "Fotoalbum" mit Thumbnails und interaktiver Großdarstellung

Beitrag von Karsten P »

Zunächst mal Dank an Euch beide für Eure Beiträge!

@Gerhard:
Ich kann mir schon vorstellen, dass es

für reine "Albumdarstellungen" bessere Anwendungen gibt - dein Link ist ja ein schönes Beispiel dafür. Ich wollte diesen "Albumworkflow" jedoch trotzdem gerne in m.objects realisieren - er ist auch nicht gedacht als "Stand-Alone"-Album, sondern nur als erster Teil einer Show, bzw. als Index zu einer solchen. Sprich: wenn man es einfach nur durchlaufen lässt, erscheint automatisch Albumseite nach Albumseite (die man natürlich noch schön animieren kann, so dass die Bilder hereintrudeln, sich aus dem Nichts aufblenden oder oder oder...) Da, wo man reinschauen will, klickt man auf ein Bild und bekommt dieses vergrößert, ODER/UND kann von hier aus in den entsprechenden Teil einer ordentlich programmierten Show abspringen (soweit diese in den jeweiligen Teilen schon fertig ist - und genau das ist der springende Punkt, denn das "Album" soll nach einer Reise oder einem Event schnell fertig sein, und die Show entsteht dann nach und nach mit den besten Bildern als Ergänzung drumherum. Albumseiten mit 20 Bildern sind dabei natürlich die Ausnahme und ahmen sozusagen die früheren "Kontaktabzüge" nach).

@Horst:
Deshalb war ich für deinen Beitrag dankbar, es doch in m.objects zu versuchen. So ähnlich wie du habe ich es auch tatsächlich realisiert, bin dann aber (ebenso wie du) an den Punkt gekommen, wo ich tatsächlich für jedes einzelne Bild eine eigene Indexmarke als Sprungziel händisch benennen muss. Auch wenn man diese in allgemeiner Form verwendet (z.B. nach dem Schema "Seite1_Lfd.Nr.") und sie dann in großen Gruppen als Makros abspeichert, um sie dann auch in anderen Shows zu verwenden, ist es halt sehr aufwändig.
Viel einfacher wäre es, wenn man ein paar weitere Sprungbefehle hätte, z.B. nicht nur "10 sec vor" sondern "x sec vor" (x frei wählbar), oder nicht nur "Bild vor", sondern "Nächstes Bild in der Spur". Dann wäre es möglich, die zeitliche Staffelung der Sprungziele (= die vergrößerten Bilder) von der Albumseite aus zu realisieren, ohne für jedes Sprungziel eine individuell benannte Indexmarke zu generieren. Vielleicht sind solche erweiterten Sprungfunktionen ja in künftigen Versionen von m.objects zu implementieren...

Bis dahin werde ich mal weiter mit "Indexorgien" basteln und gelegentlich Rückmeldung geben, wie weit mir ein einigermaßen effektiver Workflow (mit Hilfe von Makros und einem schnellen "Beladen" des Albums über den Magazineditor) gelingt.

Schönes Wochenende und viele Grüße,

Karsten P
hora58
Beiträge: 376
Registriert: 18.07.15, 15:02
Wohnort: München
Kontaktdaten:

Re: "Fotoalbum" mit Thumbnails und interaktiver Großdarstellung

Beitrag von hora58 »

Hallo Karsten,

wenn's eher um eine Art Index für eine mehrteilige Show geht, habe ich Ähnliches auch schon mal gebaut.
Ein Loop mit Vorschaubild und Begleittext, der unendlich läuft.
Klicks auf die Bilder oder den Text führen zum jeweiligen Abschnitt der Show. Hier nur beispielhaft das jeweilige Bild im Vollformat.
Nach Ablauf des Showteils - oder auch schon früher per Mausklick springt man genau an die entsprechende Stelle im Loop zurück.
Evtl. interessant für Dich.
https://vimeo.com/668681540/4aaaaf0d8e

Viele Grüße
Horst
m.objects X2023 (2610) Creative, XMG Neo 32GB und Nvidia GTX2070 Super 8GB , Win10/64 Pro ... | Mitglied bei www.av-dialog.de | ...
Karsten P
Beiträge: 94
Registriert: 24.01.18, 18:46

Re: "Fotoalbum" mit Thumbnails und interaktiver Großdarstellung

Beitrag von Karsten P »

Hallo Horst,

Danke nochmal! Ja, auch um einen Index zu einer mehrteiligen Show geht es - sehr schön umgesetzt, finde ich!

Ich habe inzwischen eine Albumseite mit 15 Bildern konstruiert. Anders als du habe ich die vergrößerten Darstellungen der Bilder nicht in die gleiche Lichtkurve gepackt, sondern in zeitlich versetzt hinter der Albumseite liegende zweite Lichtkurven in den jeweils gleichen Spuren (Hintergrund: es sollen auch Videoclips verwendet werden, und ein weiter Zeitsprung in der gleichen Lichtkurve könnte an eine Stelle führen, an der das Video bereits zu Ende ist). Bis jetzt funktioniert alles wunschgemäß...

Trotzdem wollte ich noch einmal zu deinem vorigen Beitrag nachfragen, in dem du das Ressourcenthema angesprochen hast, was dabei zu beachten ist. Einige Dinge kenne ich bereits zur "ressourcenschonenden Programmierung": Aufteilung auf mehrere Spuren --> ist mir bekannt. Schatten und dyn. Unschärfe --> sehr ressourcenintensiv, da erst während des Renderns "eingerechnet", also ggf. vermeiden. ABER: Abstände zwischen den anzuspringenden Blöcken auf der Timeline --> ist mir bisher nicht geläufig. Sollen die möglichst nah beieinander sein?
Den Begriff "Pfeilobjekt" habe ich heute zum ersten Mal gelesen - ich bin dann bei der Suche auf einige z.T. sehr alte Beiträge gestoßen (2009), aber so ganz hat sich mir noch nicht erschlossen, was es mit dem kleinen Pfeil am unteren Ende der Lichtkurve zu beachten gibt bzw. wie man damit Ressourcen schont. Magst du das in diesem Zusammenhang nochmal kurz erläutern, damit ich bei meinen "sprungintensiven" Projekt von vornherein drauf achten kann? Das wäre super nett!

Viele Grüße,

Karsten
hora58
Beiträge: 376
Registriert: 18.07.15, 15:02
Wohnort: München
Kontaktdaten:

Re: "Fotoalbum" mit Thumbnails und interaktiver Großdarstellung

Beitrag von hora58 »

Hallo Karsten,

das Performance Thema bei der Verwendung von Sprungmarken in m.objects hat mich schon vor mehreren Jahren beschäftigt.
Ich hatte da eine etwas intensivere Diskussion diesbezüglich mit Hr. Richter hier im Forum.
(Vor ziemlich genau sechs Jahren. Kannst ja bei meinen Beiträgen mal suchen. Hier ging's auch um die Abstände bei Sprüngen)
Bei einer Show hatte ich ziemlich intensiven Gebrauch von Loops und Sprüngen per Indexmarken gemacht und dabei leider feststellen müssen, dass trotz potenter Hardware das alles nicht so nahtlos funktionierte, wie ich mir das vorgestellt hatte.
Als Techniker, wollte ich dem auf den Grund gehen und hab' ein paar Nächte lang diverse "Versuchsreihen" gefahren...
...und mit meinen "Erkenntnissen" am Kern von m.objects gekratzt - sozusagen an der "CocaCola Rezeptur" von m.objects.
(Hr. Richter möge mir verzeihen)
In der Texturverwaltung und in der Logik des Belegens und der Wiederfreigabe von Grafikspeicher steckt sehr viel Know How und Entwicklungsaufwand. Und es funktioniert auch mit heutigen gestiegenen Anforderungen hervorragend und wurde in den letzten Jahren weiter optimiert - Da gibt es keinen Zweifel!

Bei m.objects liegt für die Typischen Anwendungsfälle das Augenmerk auf einer fehlerfreien, flüssigen und qualitativ hochwertigen Wiedergabe von allen auf der Timeline arrangierten Medien.
Normalerweise im "Vorwärtsgang". (Rück)Sprünge sind zwar möglich aber müssen zu Gunsten der "Vorwärtsoptimierung" etwas zurückstecken.
Da gibt es meiner Meinung nach auch keinen Zweifel!
Bezüglich der performanceoptimierten Platzierung der Objekte auf der Timeline kann ich leider auch nur mit Halbwissen aufwarten, erworben aus Nebensätzen von Hr. Richter (Siehe auch Dein Forumsbeitrag zum Thema Grafikkartenspeicher) bzw. durch Try and Error angeeignet.

Mein Wissensstand bzgl. des ominösen Pfeilobjekts ("Transportpfeil"):
pfeilobjekt.JPG
pfeilobjekt.JPG (19.52 KiB) 4862 mal betrachtet
"Früher", zu Zeiten als m.objects primär zur Steuerung von Diaprojektoren verwendet wurde, konnte man durch Verlängern des Balkens einer Lichtkurve mit dem Pfeil am Ende, den Zeitpunkt des Magazintransports des jeweiligen Projektors beeinflussen.
Analog dazu im digitalen Zeitalter kann man damit die Lichtkurve auch im bereits abgeblendeten Zustand verlängern um die Wirkung von Dynamikobjekten hinauszuzögern. Was damals der Diawechsel war ist heute das Entladen des Bildes aus dem Grafikspeicher.
Wenn viele dieser Entladevorgänge und/oder Dynamikobjekte sich zum selben Zeitpunkt auf der Timeline ereignen, kann man durch Verschieben dieser Endpunkte etwas "Entlastung" für die Grafikkarte erzielen. Ob es die Performance maßgeblich beeinflusst sei dahingestellt.
(Herr Richter sowieso - oder einer der noch im Forum aktiven m.objects "Pioniere" darf mich gerne berichtigen).

Das (Rück)Sprungverhalten von m.objects ist nicht optimal, aber bis auf wenige Ausnahmen "ausreichend", so dass ich kaum Spielraum für weitere Optimierungen sehe - ausser einer zukünftigen 64 Bit Architektur.

Schön fände ich es, wenn im (für v.10) ohnehin zu aktualisierenden Handbuch eine Seite spendiert werden würde, mit ein paar "offiziellen" Tipps, welche Maßnahmen bei schwächerer Hardware oder bei komplexen Arrangements zur Performancesteigerung beitragen.

Viele Grüße
Horst
m.objects X2023 (2610) Creative, XMG Neo 32GB und Nvidia GTX2070 Super 8GB , Win10/64 Pro ... | Mitglied bei www.av-dialog.de | ...
Karsten P
Beiträge: 94
Registriert: 24.01.18, 18:46

Re: "Fotoalbum" mit Thumbnails und interaktiver Großdarstellung

Beitrag von Karsten P »

Hallo zusammen,

@Horst noch einmal Herzlichen Dank für deine ausführlichen Erläuterungen zum Thema Ressourcen!

Ich bin mit dem Projekt jetzt soweit durch und ganz zufrieden. Letztlich habe ich (so ähnlich, wie von Horst vorgeschlagen) zunächst einmal 15 Albumseiten mit je 15 Bild(feld)ern konstruiert. (Das individuelle Benennen der Indexmarken war dabei eine Fleissarbeit, aber einmal erzeugt sind die Paare aus Bildfeld mit Sprung-Interaktivität und Sprungmarke ja von Show zu Show wiederverwendbar).
Das Vorwärtsspringen von der Albumseite auf die vergrößerte Darstellung des Bildes geht sehr zügig, das Zurückspringen dauert (nach dem was ich inzwischen weiss, erwartungsgemäß) etwas länger, ist aber mit gefühlt unter einer Sekunde im Rahmen. Dabei hat es sich als performanter erwiesen, die vergrößerten Darstellungen der Bilder nicht in der gleichen Lichtkurve zu realisieren, sondern für jedes Bild zwei Lichtkurven zu verwenden - eine für die kleine Albumdarstellung und eine, in die gesprungen wird, für die vergrößerte Darstellung. Selbst mit meiner schwachbrüstigen Nvidia Quadro M1000M läuft es so akzeptabel (in 4k), und ich konnte den Bildern sogar noch einen dynamischen Schatten spendieren, der sie etwas vom Hintergrund abhebt.
Über den Magazineditor lässt sich das Arrangement zügig befüllen und tut dann genau, was ich erwartet habe.

Insgesamt bin ich, auch wenn es (wie von Gerhard etwas anders ausgedrückt) sicher eine sehr weite Auslegung des Verwendungszweckes von m.objects ist ;-), doch einmal wieder überrascht, was für ein vielseitiger Baukasten das Programm doch ist.

Schönes Wochenende und viele Grüße,

Karsten
Antworten