The \HAPEL\Builder\Imagemap()
class allows for the creation of complete <img .../><map><area></map>
components.
HAPEL already loads the Image Map Class automatically so all you need to do is to create an instance of the class like so:
$I = new \HAPEL\Builder\Imagemap();
To create the image used in the image map, call:
$I->setImg($src, $width, $height, $alt, $class, $id, $style, $data, $attr);
The setImg()
method takes the following parameters:
Parameter | Type | Required | Default |
---|---|---|---|
$src | string | yes | |
$width | int | no | null |
$height | int | no | null |
$alt | null, string | no | null |
$class | string, array | no | null |
$id | string | no | null |
$style | array | no | null |
$data | array | no | null |
$attr | array | no | null |
To create the areas used to define the image map, call:
$I->addArea($shape, $coords, $href, $rel, $alt, $attr);
The addArea()
method takes the following parameters:
Parameter | Type | Required | Default | Expected Values |
---|---|---|---|---|
$shape | string | yes | 'default', 'rect', 'circle', 'poly' | |
$coords | string | yes | ||
$href | string | yes | ||
$rel | string, array | no | null | |
$alt | null, string | no | null | |
$attr | array | no | null |
To show the fully coded image map, call the get()
method:
echo $I->get($name);
Parameter | Type | Required | Default | Use |
---|---|---|---|---|
$name | string | yes | The name of the image map. |
Usage:
$I = new \HAPEL\Builder\Imagemap();
$I->setImg('my-image.jpg', 200, 100, 'My Photo');
$I->addArea('rect', '0,0,100,100', 'page1.html');
$I->addArea('rect', '101,0,200,100', 'page2.html');
echo $I->get('imgmap');
Result:
<img src="my-image.jpg" alt="My Photo" width="200", height="100" usemap="#imgmap"/>
<map name="imgmap">
<area shape="rect" coords="0,0,100,100" href="page1.html" />
<area shape="rect" coords="101,0,200,100" href="page2.html" />
</map>