Image-Map 1
    
 HomeVerweise • Image-Maps 01 Bsp 01   DOWNLOAD  Quellcode 

  Image-Maps 01 - verweissensitive Flächen,

Alternativ zum Textlink oder auch zum Imagelink (das gesamte Bild kann angklickt werden) bietet sich die Möglichkeit bestimmte Bereiche (hot spots) innerhalb einer Grafik als Verweisfläche zu deklarieren.
Bestimmte Bereiche einer Grafik als Verweisfläche definieren

Beispiel: Grafik als Untermenü zum Thema Infrastruktur.
PKW Bus Bahn Bahn Flug Taxi Multibus alternativ
Es handelt sich hier nicht um 8 einzelne Grafiken und (darunter) 8 Textlinks sondern um eine einzige Grafik. Rand anzeigen Für diese Grafik habe ich 8 "HotSpots" festgelegt, die angeklickt zur jeweiligen Seite weiterleiten (öffnen hier in einem neuen Browserfenster).

Übrigens finden Sie solche Piktogramme und weitere 7000 Mini-Images zur kostenlosen Verwendung in meiner  Mini-Image-Box


   Image-Map

Die allgemeine Bezeichnung für eine solche Grafik mit einem oder mehr verweissensitiven 'Hot-Spots' ist: Image-Map

Dazu wird die Grafik zunächst mit dem üblichen <img>-Tag in die Seite eingebunden. Dann muss unbedingt das zusätzliche Attribut 'usemap' notiert werden. Sie wählen einen Namen, dem Sie ein Gatterzeichen (#) voranstellen und als Wert eintragen.
<img usemap="#Symbole" alt="Nav" src="nav-infra.gif" width="525" height="75" ... >
Dann sind Anweisungen notwendig, die bestimmte Bereiche dieser Grafik als verweissensitive Flächen festlegen. Wie das funktioniert lesen sie weiter unten.


   Funktionsprinzip

Erst einmal zu den grundsätzlichen Erklärungen:

Rechteck Kreis Polygon Grafik      (blaue Begriffe merken)

Das gesamte Image (umrandet) ist die 'map'.
Innerhalb dieser "map" werden mittels Koordinatenangaben die verweissensitiven Bereiche festgelgt.

Dabei unterscheidet man folgende Formen (shapes):

1) Rechteck (rectangle), attributname 'rect'
2) Kreise (circle), attributname 'circle'
3) Vielecke (polygone), attributname 'poly'



   Anweisungen für eine Imagemap

3 Schritte:

1  Eine Map definieren [vergebenen Namen eintragen]

2  Verweisbereiche mit 'area shape' definieren [innerhalb der map-Tags]
<map name="Beispiel">
<area shape="rect" ...
<area shape="circle" ...
<area shape="poly" ...
</map>
Diese Anweisungen in der Map beziehen sich auf die Grafik, bei der Sie das Attrribut 'usemap' mit dem gleichen Bezeichner (hier 'Beispiel') eintragen werden.

3  <img>-Tag notieren [usemap-Attribut und alt-Tag-Attribut zwingend]


<img usemap="#Beispiel" alt="mein-image" src=" ...



   Verweisfläche (area) festgelegen

     Wie Sie schon vermutet haben, sind wichtige Punkte in meiner Beispielgrafik nicht ohne Grund vorhanden.

Die Punkte werden wie in einem Koordinatensystem mit Abstand von links (x) und von oben (y) in Pixel gemessen und beziehen sich auf die linke obere Ecke der Grafik.

Der erste Punkt links oben im violetten Rechteck hat demnach die Koordinaten x=12 y=12 .

Er ist also von der oberen linke Ecke gemessen um 12 Pixel nach rechts und nach unten versetzt.


Einträge für Rechteck, Kreis und Vieleck (rect, circle, poly)

Abhängig von der Form der verweissensitiven Bereiche, müssen die Angaben eingetragen werden.
  • Für ein Rechteck genügen zwei Angaben für die gegenüberliegenden Ecken (jeweils X- und Y-Wert).
  • Für einen Kreis tragen sie die Koordinaten für den Mittlelpunkt ein und notieren eine weitere Angabe für den Radius (nsgesamt also 3 Werte).
  • Für ein Vieleck ist die Notierung anders: Für jeden Punkt tragen sie X- und Y-Wert paarweise ein.

Schauen sie einmal auf meine Beispielgrafik

für shape="rect" linke obere Ecke, rechte untere Ecke
für shape="circle" Mittelpunkt, Radius
für shape="poly" jeder Punkt des Polygons, in Reihenfolge
 
für shape="rect" coords="x1,y1, x2,y2"
für shape="circle" coords="x1,y1, Radius"
für shape="poly" coords="x1,y1, x2,y2, x3,y3, x4,y4, ... "

(alle Angaben in Pixel, durch Komma getrennt)


Der vollständige Code für mein Beispiel:

<map name="Beispiel">
<area shape="rect" coords="12,12,85,53" href="#" alt="Rechteck">
<area shape="circle" coords="110,86,33" href="#" alt="Kreis">
<area shape="poly" coords="7,78,50,76,74,139,13,140" href="#" alt="Polygon">
</map>

<img src="verweissensitiv00.gif" width="150" height="150" border="1"
alt="mein-image" usemap="#Beispiel">
An Stelle der '#' wird der Dateiname (oder ein Aktionsaufruf) eingetragen.




   So könnte Ihre Anwendung aussehen (aktives Beispiel)

(hier habe ich 2 MouseEvent-Anweisungen und ein Alert-Script hinzugefügt)

Rechteck Kreis Polygon mein-image     



   Beispiele für Aktionen

Sie können nun mit bestimmten Aktionen entsprechende Ereignisse auslösen. Beim Klicken, bei MouseOver, ... . Wenn sie eine URL eintragen, wird ein Mausklick diese Datei aufrufen. Sie können allerdings auch eine JavaScript-Funktion eintragen, die eine einzelne oder eine Reihe von Anweisungen beinhaltet und entsprechende Aktionen auslöst.

<area shape="rect" coords="12,12,85,53" href="#" alt="klick mich">
An Stelle der Raute [#] eintragen :


dateiname.htm   (Unterseite öffnen)

ordner/dateiname.htm   (Unterseite öffnen)

http://www.clickstart.de   (Webseite aufrufen)

javascript:alert()   (Meldung anzeigen)

javascript:Funktionsname()   (Funktion aufrufen)


Zusätzlich möglich: MausEvents

Sie können zusätzlich auch Anweisungen für MouseEvents eintragen:
onMouseover="GrafikAnzeigen()" onMouseout="GrafikAusblenden()"


Aufbauend auf dieses Beispiel, bei dem in der Regel eine Datei geöffnet werden soll, zeige ich beim Beispiel Image-Map 02 wie beim Anklicken eine Funktion zum Öffnen eines PopUp-Windows aufgerufen wird.