Name:
startimagemap.sml (CGI-Skript)

Syntax:
startimagemap.sml

Beschreibung:

startimagemap.sml ist ein CGI-Skript, das von einem WWW-Server gestartet wird. Es wird durch die Environment-Variablen QUERY_STRING und PATH_INFO gesteuert. Die Variablen werden vom WWW-Server entsprechend einer WWW-Anfrage gesetzt.

startimagemap.sml wird innerhalb der HEART-2DPAGE zur Verwaltung der sensitiven Bildern atrium.med.gif und ventricle.med.gif benötigt.

startimagemap.sml hat die gleiche Aufgabe wie startimagemap.lg. Dort ist eine genauere Beschreibung über die Behandlung von sensitiven Bildern zu finden.

Startimagemap.sml

Die HEART-2DPAGE basiert auf den Gel-Bildern ATRIUM_ORIG.gif und VENTRICLE_ORIG.gif. Zu jedem der beiden Bilder existiert eine Mapdatei atrium.map bzw. ventricle.map.

Zusätzlich existieren die Bilder atrium.med.gif und ventricle.med.gif. atrium.med.gif ist das um den Faktor 0.45 verkleinerte Bild zu ATRIUM_ORIG.gif; ventricle.med.gif dasjenige zu VENTRICLE_ORIG.gif. Siehe make_med_images.

Um die verkleinerten Bilder ebenfalls klickbar zu machen, wären entsprechende Mapdateien nötig. atrium.map und ventricle.map können nicht einfach übernommen werden, da atrium.med.gif und ATRIUM_ORIG.gif bzw. ventricle.med.gif und VENTRICLE_ORIG.gif über unterschiedliche Koordinatenachsen verfügen.

Da atrium.med.gif und ventricle.med.gif durch Verkleinerung aus ihren Originalbildern entstanden sind, gibt es einen Zusammenhang zwischen den verkleinerten Bildern und ihrem jeweiligen Original.

Diesen Zusammenhang nutzt startimagemap.sml. Es bildet die Position eines beliebigen Punktes des verkleinerten Bildes auf die Position des gleichen Punktes im Originalbild ab.

Die verkleinerten Bilder können somit sensitiv bei Verwendung der Mapdateien atrium.map und ventricle.map gemacht werden. atrium.med.gif und ventricle.med.gif geben, damit sie sensitiv werden, als CGI-Skript nicht imagemap sondern startimagemap.sml an.

startimagemap.sml wandelt die erhaltene Koordiante zunächst um. Der selektierte Punkt aus dem verkleinerten Bild wird auf seine ursprüngliche Position im Originalbild (ATRIUM_ORIG.gif bzw. VENTRICLE_ORIG.gif) transformiert. Anschließend wird imagemap mit der berechneten Koordinate aufgerufen und die in der Mapdatei vorgegebene Aktion ausgeführt.

Wichtig:
Die Transformation findet in Abhängigkeit des Verkleinerungsfaktors statt. Wird der Werte geändert (make_med_images), so muß das Skript mit den neuen Werten angepaßt werden.

Parameterübergabe

Die Koordinatentransformation ist vom gewünschten Bild (atrium.med.gif, ventricle.med.gif) abhängig. D. h. startimagemap.sml muß mitgeteilt werden, welches Bild seine Ausführung verursachte.

Die Übergabe der Koordinaten vom WWW-Server an startimagemap.sml erfolgt in der Environment-Variable QUERY_STRING, sie muß folgende Form besitzen:

QUERY_STRING = x,y

x,y
Koordinate, die transformiert werden soll.

Die Übergabe der Bildart (Ventricle, Atrium) geschieht in PATH_INFO in folgender Form:

PATH_INFO = /bild

bild
Kann den Wert ventricle oder atrium haben.
bild=ventricle das sensitive Bild ist ventricle.med.gif und die zugehörige Mapdatei ist ventricle.map;
bild=atrium das sensitive Bild ist atrium.med.gif und die zugehörige Mapdatei ist atrium.map

Beispiel:

PATH_INFO = /ventricle

Es findet keine Fehlerabfrage statt; d. h. QUERY_STRING und PATH_INFO sollten immer die oben beschriebene Form besitzen!

WWW-Schnittstelle

Um die Bilder atrium.med.gif und ventricle.med.gif innerhalb eines HTML-Dokumentes sensitiv zu machen, muß eingetragen werden:

<A HREF = "http://host/cgi-verzeichnis/startimagemap.sml/bild">
<IMG SRC = "image">
</A>

host
Name des Rechners auf dem der WWW-Server läuft.

cgi-verzeichnis
Verzeichnis in dem sich die CGI-Skripte des Servers befinden. Der Server muß dazu passend konfiguriert sein.

bild
Kann den Wert ventricle oder atrium haben.
bild=ventricle das sensitive Bild ist ventricle.med.gif und die zugehörige Mapdatei ist ventricle.map;
bild=atrium das sensitive Bild ist atrium.med.gif und die zugehörige Mapdatei ist atrium.map

image
Gibt das Bild an, das sensitiv gemacht werden soll. Dies kann sein:
atrium.med.gif oder
ventricle.med.gif.

Beispiel:

<A HREF = "http://www.chemie.fu-berlin.de/cgi-bin/dhzb/startimagemap.sml/atrium">
<IMG SRC = "http://www.chemie.fu-berlin.de/user/pleiss/images/atrium.med.gif">
</A>


Zurück zum Inhaltsverzeichnis

Stefan Sander, sanderst@cs.tu-berlin.de, 10/95