fotoindex

Beschreibung
Funktion
Aufbau legende.txt
Darstellung
Geometrie
Farben/Fonts/Styles
WWW-Seiten
Exif-Daten
Dokumentation






makealbum

Beschreibung
Funktion
Darstellung
Geometrie
Farben/Fonts
Dokumentation





Download



Galerien mit -   fotoindex




Version 3.0  -  Februar 2007


Fotoindex ist ein Perl-Skript zum Erzeugen von Bildergalerien im HTML-Format.

Der ursprüngliche Zweck war der Einsatz auf CDs/DVDs auf denen Bilder archiviert sind. Mit Hilfe der von fotoindex erzeugten Galerien kann schnell ein Überblick über die gespeicherten Bilder gewonnnen werden. Um keine Problem mit verschiedenen Browsern und deren Versionen zu bekommen. wurde auf möglichst einfach HTML-Code geachtet, CSS wenig benutzt (abschaltbar) und kein Java implementiert (mit Ausnahme der "Back"-Buttons)


Neu in Version 3.0
  • Einführung von Sortiernummern um unabhängig vom Namen sortieren zu können. (-numsort|-namesort)
  • PDF-Files werden mit eingebunden und im Default PDF-Reader angezeigt
  • Die Exif-Daten von jpg-Bildern werden ausgelesen und in einem Extra-Fenster angezeigt
  • ca. 30 verschiedene Styles, die in einem config-File verändert werden können (Liste mit fotoindex -h)
  • Parameter der Styles stehen in einem Konfigurationsfile, welches editiert werden kann.
  • Mit -writeicons kann Programm- und Bild-(DATA-)Teil getrennt werden, um Bildteil neu zu gestalten.
  • Mit -appendicons können weitere Hintergrundbilder angehängt werden
  • Mit -overview wird eine html-Gallerie erzeugt mit einem Überblick über alle styles
  • Durch ein File 'background.jpg' im mid_size Directory wird das im Stylefile eingestellte Hintergundbild überschrieben. Hintergund kann damit einfach individuell geändert werden.
  • Bilder-Tabelle lässt sich unabhängig vom übrigen Fenster scrollen. (abschaltbar mit -nocss).
  • Hintergrundbild steht fest und wird nicht mitgescrollt (abschaltbar mit -nocss).
  • Tabellen mit nicht gesetztem Hintergrund sind transparent.
  • Optional wird in die Datensätze ein Feld 'Bibl' eingefügt für bibiographische Angaben zur Auswertung mit einer Datenbank. neu aufzubauen.
  • Writeprotectflag im legende.txt schützt vor dem Überschreiben.
  • Mit -logrename wird der alte Name des Bildes dem bisherigen Inhalt des bibl-Feldes angehängt und bleibt damit für Recherchen erhalten.
  • Gallerien, die mit älteren Versionen von fotoindex erzeugt wurden, können mit neueren Versionen problemlos weiter bearbeitet werden.

TOP

Funktion

Beim Aufruf erfasst fotoindex alle jpg-, gif- und tiff-Dateien im aktuellen oder angegebenen Directory.
Von den gefundenen Bildern werden in getrennten Subdirectories Thumbnails und ein mittleres Format (600x800 Pixel oder auch wählbar 1024x768 Pixel) der Bilder erzeugt.Dazu wird das Programm convert aus dem Packet image magick benutzt.
Weiter wird (wenn noch nicht vorhanden) eine Datei "legende.txt" angelegt, welche aus Kopf- und Bild-Teil besteht. Im Kopfteil werden alle zentralen Angaben eingetragen, im Bildteil werden für jedes Bild ein mehrzeiliger Datensatz eingetragen mit bildspezifischen Angaben. Automatisch eingetragen werden dort der Dateiname und die Zeit der Bilderstellung, falls im Exif-Teil eine solche Zeit gefunden wird.

Danach wird eine Datei "index.html" erzeugt in der die Thumbnails in einer Tabelle mit der gewählten Anzahl Bilder pro Zeile angeordnet sind. Unter jedem Thumbnail stehen Dateiname und Aufnahmezeit.

Die Datei "legende.txt" kann nun editiert werden. Nach einem erneuten Aufruf von fotoindex wird die HTML-Datei "index.html" neu erzeugt und die Angaben aus "legende.txt" in die HTML-Dateien übernommen.

Das Thumbnail ist ein Link auf ein Fenster mit demselben Bild in dem mittleren Format, dem Text aus den Zeilen "Inhalt", "Bibl" und "Comment" und Navigations-Buttons.
Das Bild im Mittelformat und der Dateiname in der Galerie sind Links auf ein neues Fenster mit dem Originalbild.

Durch Einfügen von Untertiteln kann die Tabelle unterbrochen werden. Es erscheinen mehrere Tabellen übereinander mit dem jeweiligen Untertitel als Überschrift.

Mit dem Parameter -style in der Kommandozeile können Farben und Hintergundbilder gewählt werden. Die entsprechenden Parameter stehen im Konfigurationsfile (Default- Name 'fistyle.conf'). Dort sind entsprechende Erweiterung einfach zu machen. Z.Z sind ca. 30 Styles definiert.

Alle Parameter, die in der Kommandozeile eingegeben werden, werden im legende.txt abgespeichert und müssen nur diejenigen erneut eingegeben werden, die geändert werden sollen.



TOP

Aufbau von legende.txt

Die Datei "legende.txt ist eine ASCII-Datei und kann mit jedem Editor bearbeitet werden. Im Kopfteil stehen die Daten welche die durch fotoindex zu bildende HTML bestimmen, danach die Datensätze für jedes einzelne Bild.


# Legende zu den Bildern im Directory schaffhausen
# angelegt von /home/strub/bin/fotoindex 


Titel        : Titel der Beispielseite

Titelbild    : beispiel_001.jpg

Style        : ubuntu - tab - nocss - exif

Writeprotect : no

---------------------------------------------------------
Anzperline     : 5  # Dont edit!
Midsize-Format : 800x600
---------------------------------------------------------

Basicname  : beispiel_
Erste_Nr   : 001

Sortmode   : numsort
Startno    : 1

Prolog     : Der Prolog enthält Text(e) welche die Fotos beschreibt, die Umstände unter denen 
sie entstanden oder irgendeinen Unsinn der hierher passt oder auch nicht. Der Prolog kann auch 
Leerzeilen enthalten. Deshalb muss der Abstand im "legende.text" zu der darauffolgenden Zeile 
mindenstens 2 Leerzeilen betragen.

Überschriften

können mit normalen HTML-Tags <h4> .... </h4> gebildet werden. # ------------------------------------------------ Subtitel : Teil 1 Name : beispiel_001.jpg Sortno : 01 Datum Aufnahme : 21.08.2005 16:23 Inhalt : Drehen : 0 Bibl : Kommentar : Name : beispiel_002.jpg Sortno : 02 Datum Aufnahme : 21.08.2005 16:25 Inhalt : Der Munot Drehen : 0 Bibl : Kommentar : zu Schaffhausen. Von Osten her bei Regenwetter. Name : beispiel_003.jpg Sortno : 03 Datum Aufnahme : 21.08.2005 16:26 Inhalt : Drehen : 0 Bibl : Kommentar : Name : beispiel_004.jpg Sortno : 04 Datum Aufnahme : 21.08.2005 16:26 Inhalt : Drehen : 0 Bibl : Kommentar :


Kopfteil
  • Titel: Hier wird der Titel angegeben. Fehlt diese Angabe wird der Directory-Name als Titel eingesetzt.

  • Titelbild: Angabe des Titelbildes. Das Titelbild wird von Script makealbum benötigt. Beim ersten Aufruf wird hier das erste Bild eingesetzt.

  • Style : Farbliche und geometrische Anordnungen. Diese sind hier notiert, damit bei einem späteren Aufruf diese Parameter in der Komandozeile nur angegeben werden müssen, wenn eine Änderung erfolgen soll.

  • WriteprotectDurchh Setzen auf 'yes' werden alle Dateien vor überschreiben geschützt.

  • Anzperline : Anzahl der Bilder pro Zeile. Sollte nicht editiert werden sondern über die Kommandozeile veraendert werden.

  • Midsize-Format: Grösse des Midsize-Bildes in Pixel: 600x800 oder 768x1024. Sollte nicht editiert werden sondern über die Kommandozeile veraendert werden.

  • Basicname:Der vordere Teil der Dateinamen, der für alle Dateien gleich ist. Wird von der rename-Funktion benutzt

  • Erste_Nr:Nummer des ersten Bildes, wird von der rename-Funktion benutzt

  • sortmode Kann numsort oder namesort enthalten

  • startno Startnummer im numsort-Modus

  • Prolog:Beliebiger mehrzeiliger Text, der unter dem Titel angeordnet wird. Er darf auch Leerzeilen enthalten und muss mit zwei Leerzeilen beeendet werden.

Bildteil
  • Name : Name der Bilddatei, wird von fotoindex erfasst

  • Sortno: Sortiernummer im numsort-Modus.

  • Datum Aufnahme :Aufnahmedatum und -zeit aus Exifteil des Bildes. Kann geändert werden, sollte dann aber mit einem nachfolgenden Ausrufzeichen gegen überschreiben geschützt werden.

  • Inhalt : Kurzbezeichnung des Bildinhalts, erscheint im Index und in der Midsize-Darstellung unter dem Bild.

  • Drehen : Drehwinkel, um den das Bild beim nächsten Aufruf von fotoindex gedreht werden soll. Nach dem Ausführen der Drehung setzt fotoindex den Winkel auf Null

  • Bibl : Feld für bibliografische Angaben. Erscheint nur mit der Option -bibl oder -logrename.

  • Kommentar : Beliebiger Text zu dem Bild. Kann auch mehrzeilig sein. Endet mit einer Leerzeile. Wird in der Midsize-Darstellung angezeigt.

Funktionen die über legende.txt gesteuert werden
  • Drehen Durch Eintrag eines Winkels in grad (UZS = positiver Wert, GUZS = negativer Wert) wird beim nächsten Aufruf das Bild durch fotoindex entsprechend gedreht und dann der Winkel wieder aug Null gesetzt

  • Verschieben Es stehen zwei unterschiedliche Sortiermethoden zur Verfügung, bei denen sich auch der Mechanismus des Verschiebens unterscheidet.

    Sortieren nach den Bildnamen
    Wird hinter den Eintrag Name ein '>> neue Nummer' geschrieben und danach fotoindex mit der option -rename aufgerufen, wird die Datei entsprechend umbenannt und an der entsprechenden Stelle einsortiert.
    Beispiel: Name : img_125 >> 56a
    Datei wird umbenannt in img_056a, eingeordnet nach img_056 und dann alle Namen neu durchnummeriert entsprechend Basicname und Erste_Nummer im Kopfteil

    Sortieren nach Sortiernummern
    Die Sortiernummern im Feld Sortno können beliebig editiert werden. Bei jedem Aufruf von fotoindex im Modus numsort werden die Bilder entsprechend ihren Nummern neu sortiert wobei die Sortno auf ganzzahlige Werte gesetzt werden. Bei gleichen Nummern werden sie nach Namen sortiert.
    Zum Einfügen können Dezimalzahlen verwendet werden.
    Beispiel: Die Bilder mit Sortno 10.1 und 10.2 werden nach dem Bild mit der Nummer 10 eingeordnet und erhalten dann die Nummern 11 und 12 alle folgenden Bilder werden entsprechend verschoben..

  • UnterteilenZwischen zwei Bilddatensätzen kann eine Zeile
    Subtitel : Text des Untertitels
    eingefügt werden. Beim nächsten Aufruf von fotoindex wird die Indextabelle an dieser Stelle unterbrochen der Untertitel ausgegeben und mit einer neuen Tabelle der Index fortgesetzt. Statt 'Subtitel' kann auch 'subtitle' oder 'Untertitel' mit Gross- oder Kleinschreibung des ersten Buchstabens verwendet werden. In der Darstellung 'long' werden alle Thumbnails zwischen zwei Untertiteln nebeneinander angeordnet

TOP

WählbareDarstellungen

Für den Index sind verschiedene Darstellungen möglich.

Geometrische Anordnung

Durch die Angabe von -short (oder -tab) in der Kommandozeile werden die Bilder in zeilenweise mit fester Anzahl Bilder pro Zeile angeordnet. Die Anzahl der Bilder wird durch eine Zahl in der Kommandozeile gewählt.

Durch die Angabe von -long in der Kommandzeile werden alle Bilder zwischen zwei Untertiteln nebeneinander gesetzt.



Darstellung im 'long'-Format - style ubuntu
TOP

Farben, Fonts und Styles

Im Moment sind drei farblich unterschiedliche Darstellungen fest implementiert. Sie werden in der Kommandozeile eingestellt durch -style <name>;
  • ubuntu In Brauntönnen
  • windows In Blau- und Grautönen
  • blackwhite In schwarz und Weiss
Weitere Styles sind in der Datei fistyles.conf implementiert. Die zugehörigen Bilder für den Hintergrund sind im __Data__-Anhang des Perlscripts fotoindex gespeichert. Sollen weitere Styles in das conf-File eingetragen werden, mit neuen Hintergrundbildern, müssen diese im Array @backpictures (am Anfang des Scripts) eingetragen werden und anschliessend mit fotoindex -appendicons dem Script angehangen werden. Dadurch bilden Script und Hintergrundbilder eine Einheit und können problemlos weiter gegeben werden.

Mit der Option -overview [<directory>] wird eine Übersicht über alle vorhandenen Styles in Form einen HTML-Galerie overview.html im angegebenen Directory (Default = fotoindex_overview) erzeugt.

Um den __DATA__-Teil völlig neu zu gestalten, kann mit der Option -writeicons [<directory>] in dem angegebenen Directory (Default : fotoindex_icondir) das Script wieder zerlegt werden in den Programmteil 'fotoindex-pgm' und sämtliche im __DATA__ -Teil gespeicherten Hintergrundbilder und Icons. Die alten Namen müssen dann in den Arrays @backpictures und @buttonpicts durch die neuen ersetzt werden. Mit fotoindex -appendicons werden dann die neuen Bilder wieder angehängt. TOP


Beispiel style windows


TOP

Beispiel style blackwhite


Die Farben und Fonts sind in dem Script und einem Hash zusammengefasst. Weiter Styles koennen in der Datei fistyles.conf notiert werden. Wird beim Start diese Datei gefunden, werden die in ihr definierten Styles eingelesen. Der Dateipfad steht im Kopf des Scripts und kann angepasst werden. ist ein Style test eingebaut, der durch die sehr verschiedenen Farben die Zuordnung erleichtert.




Beispiel style test


TOP

Mit der Option -overview [<directory>] wird eine Übersicht über alle vorhandenen Styles in Form einen HTML-Galerie overview.html im angegebenen Directory (Default = fotoindex_overview) erzeugt.




Die Gallerie overview.html




TOP

Aufbau der Datei fistyle.conf

Für jeden Style enthält die Datei fistyle.conf einen Datensatz mit allen einstellbarebnn Parameter. Der name des Style steht am Beginn des satzes in eckigen Klammern. Mischfarben sollten unbedingt in der hexadezimalen Schreibweise angegeben werden, da die Farbnamen auf verschiedenen Betriebsystemen nicht einheitlich sind.
Die Namen der Felder im untenstehenden Beispiel für zwei Styles ('acre1' und 'beige') sind selbsterklärend, Kommentare (ganzzeilig) können mit einem '#' am Zeilenbeginn eingefügt werden.


#######################################
#  Styles for fotoindex and makealbum #
#######################################
#
# Use only simple color name like white, black, yellow, blue etc.
# All mixed colors should describe in hex RGB notation.
# For comments at end of line use ## 
#  
#   lightgrey = #d3d3d3
#        grey = #bebebe
# GreenYellow = #adff2f
#  aquamarine = #7fffd4
#        gold = #ffd700
#       brown = #a52a2a
#   OliveDrab = #6b8e23
#
# --------------------------------------------------------------------------
[acre1]
bodybgcolor	#cdc8b1
bodybgpict      bg-erde01.jpg
tabbgcolor1     #8d7e6a
tablebgpict1    
tabbgcolor2	#8d7e6a
tablebgpict2    
link		#8b8878
vlink		#8b8878
border		1
textcolor	yellow
fonttitle	<font face="Arial,sans-serif" color="black" size="6"><B>
fontsubtitle	<font face="Arial,sans-serif" color="white" size="4"><B>
fontprolog	<font face="Arial,sans-serif" color="black" size=3>
fontexplain	<font face="Arial,sans-serif" color="#d3d3d3" size=2>  ## lightgrey	
fontname	<font face="Arial,sans-serif" color="#d3d3d3" size=2>
fontinhalt	<font face="Arial,sans-serif" color="white" size=2>
midbgcolor	#333333
midbgpict	bg-erde01.jpg
midtabcolor1	
midtabpict1	
midtabcolor2	black  
midtabpict2	
midfont		<font face="Arial,sans-serif" color="white" size=3>	  
prevbutton      prev-sim.gif
nextbutton      next-sim.gif
startbutton     start-sim.gif
endebutton      ende-sim.gif
exitbutton      exit-sim.gif
siteback        siteback.jpg  	  
# --------------------------------------------------------------------------
[beige]
bodybgcolor	#cdc8b1
bodybgpict      bg-beigemauer.jpg
tabbgcolor1	
tablebgpict1    
tabbgcolor2	#cdc0b0
tablebgpict2    bg-beigemauer.jpg
link		#8b8878
vlink		#8b8878
border		1
textcolor	black
fonttitle	<font face="Arial,sans-serif" color="black" size="6"><B>
fontsubtitle	<font face="Arial,sans-serif" color="black" size="4"><B>
fontprolog	<font face="Arial,sans-serif" color="black" size=3>
fontexplain	<font face="Arial,sans-serif" color="#8b4513" size=2>	
fontname	<font face="Arial,sans-serif" color="#8b4513" size=2>
fontinhalt	<font face="Arial,sans-serif" color="black" size=2>
midbgcolor	#333333
midbgpict	bg-beigemauer.jpg
midtabcolor1	#833333	
midtabpict1	bg-beigemauer.jpg
midtabcolor2	#3b3325  
midtabpict2	
midfont		<font face="Arial,sans-serif" color="white" size=3>	  
prevbutton      prev-sim.gif
nextbutton      next-sim.gif
startbutton     start-sim.gif
endebutton      ende-sim.gif
exitbutton      exit-sim.gif
siteback        siteback.jpg  	  
# --------------------------------------------------------------------------





TOP

Erzeugen von Indexes für Webseiten

Soll der Index auf einer Website verwendet werden, sind die Links auf die Originalbilder (wegen deren Grösse) meist nicht sinnvoll. Mit der Option -withoutorig oder -woo werden diese Links nicht erzeugt, die Originalbilder werden also nicht mehr aufgerufen und daher auch nicht mehr gebraucht.

Anzeige der Exif-Daten

Mit der Option -exif (abschalten mit -noexif) wird in der Midsize-Darstellung ein Link erzeugt auf ein neues Browserfenster mit den Exifdaten. Für das Auslesen der Exif-Daten aus den Bildern werden die externen Programme
'exif','exiftags','jhead'
in dieser Reihenfolge gesucht. Eines dieser Programme muss also auf dem System installiert sein. Falls andere externe Programme genutzt werden sollen, kann deren Name im Array '@exifreader' (am Anfang des Scripts) eingetragen werden.


Die EXIF-Daten des Programms 'exif'




Dokumentation

Eine Kurzdokumentation in Englisch kann mit fotoindex -h aufgerufen werden. Eine ausführlichere mit perldoc fotoindex

TOP

Author: Rudolf Strub