Extension:ImageMap/cs

The ImageMap extension allows clickable image maps. An image map is a list of coordinates in a specific image, which hyperlinks areas of the image to multiple destinations (in contrast to a normal image link, in which the entire area of the image links to a single destination). For example, a map of the world may have each country hyperlinked to further information about that country. The intention of an image map is to provide an easy way of linking various parts of an image without dividing the image into separate image files.

Simple example without caption
The above example always links to the Main Page, no matter where you click on it. To find out more about the image, click on the blue "i" icon. An alternative way to create such a linked image, without using this extension would be with

Complex example with caption
This example display a thumbnail with dimensions (width × height) 500 × 250 pixels; has dimensions 9,600 × 4,800 pixels. The coordinates of each vertex are given in pixels and represent a point on the original image. So for example, the vertices of the polygon surrounding "Jude" (second to the far right in the image) has horizontal-coordinates (measured in pixels from the left) ranging between  –   and vertical-coordinates (measured in pixels from the top) ranging between   – , which are far outside of the range of the displayed 500 × 250 thumbnail but within range of the 9,600 × 4,800 original image. Note that one vertex of the polygon surrounding "Simon" (at the very right of the image), specifically the vertex with coordinate, lies outside of the bounds of the original 9,600 × 4,800 image.

The above example links to many different pages, depending on where you click it. To find out more about the image, click on the double-rectangle icon

Syntax description
The contents of an tag consists of blank lines, comments (starting with #) and logical lines.

The first logical line specifies the image to be displayed. This must be in the same format as an ordinary MediaWiki image link (see images help), except without the enclosing  and   markup.

If the first line specifies a " " or " " image, then the first line's caption and any alt parameter are treated as the image's caption and alt text in the usual way; otherwise, the first line's alt parameter (or, if absent, any caption) specifies the image's alt text.

In neither case does the image itself have title text (often used for tooltips); any title text is taken from the regions described in later lines.

Further lines are split into tokens, separated by whitespace. The function of each line is determined by the first token in the line.

A coordinate consists of two tokens. The first token is the horizontal (X) position and the second token is the vertical (Y) position. ''' All coordinates are according to the full-size image, not the visible image. ''' The X and Y tokens should be specified as distance from left edge (horizontal pixel count) and distance from top (vertical pixel count) of the full-size image.


 * desc
 * Specifies the location of a blue "i" icon Desc-i.svg, which links to the image description. Possible values:,   (default),  ,  ,  . This parameter is ignored for " " or " " images, which instead employ the usual double-rectangle icon Magnify-clip.png.


 * poly
 * A polygon. The coordinates of the vertices are given, followed by a link in square brackets.


 * rect
 * A rectangle. The parameters are the coordinates of the top-left and bottom-right corners, followed by a title to link to in square brackets.
 * Example


 * circle
 * A circle. The first two parameters are the coordinates of the center, the third is the radius. The coordinates are followed by a link in square brackets.


 * default
 * This gives the default link, where no other regions are specified.

All coordinates are specified relative to the source image. The image can be scaled using thumbnail syntax, in which case the image map coordinates will be automatically scaled as well.

All links are given in either the form Page title or description. In the latter case, the part after the pipe "|" becomes the title attribute of the link—in most browsers, it will pop up as a tooltip when the user hovers over it; the part after the pipe also becomes the alt text for the link. If no explicit link description is given, the page title is used.

Areas which overlap give precedence to the first link listed.

Installation
Make sure that uploads and ImageMagick are installed:


 * Troubleshooting
 * 1) Check to see if your php DOM is turned on. You may need to install it if it is not.
 * 2) Check whether  is installed, since this extension relies on /usr/bin/convert for the resizing. If it is not present, you could get a page with only XML errors (tip: use the back-button in the browser, because you can still edit the page).
 * 3) On OVH mutualized hosting   should be like:

Composer
You can also install this extension using built-in support.

composer require mediawiki/image-map @dev

Usage with templates, magic words, or parser functions
If you want this extension (as with most tag extensions) to parse template parameters, magic words, or parser functions, you will need to use  syntax, such as w:Template:Click did. In this case the vertical bar  must be replaced by a template , where the source text of the template is   (except when they appear inside links or parameters).


 * Example - standard form:


 * Example - with variable :


 * Example – Modified to accept an input parameter to control image size:

These modifications allow the template size to be adjusted on the edited (target) page and eliminate the need to create duplicate templates of various image sizes.

Where  is the input parameter “1” and a default image size of 640px.

Note: the input parameter requires a text string ending with “px” to function properly.

For example, calling a template  will display the template at 400 pixels.

 To convert the standard (existing) image maps to this optional format: 
 * Replace the initial with
 * Add  after the image name (change the default image size to match the currently existing size).
 *  Note: By changing the default size (640px in this example) to the current image size, none of the existing template calls will have to be modified and will display correctly. Existing template calls can still be modified later by using the input parameter. 


 * Replace the final with   (the trailing braces).