Afin de rendre un site plus agréable, on y ajoute des images. Un site sans image est triste et monotone mais attention à ne pas placer trop d'images, elles fatiguent le regard.
Pour insérer une image dans du HTML on va employer la balise <img/>. La balise image ne fonctionne pas paire, tout comme la balise <br/> que nous avons précédemment vu. Il est donc très important de ne pas oublier de placer le slash en fin de balise, afin de rendre la balise accessible et de respecter les normes du W3C.
Les images employées en HTML sont des images compressées et donc ne ralentiront pas l'affichage de la page html. Seuls les formats d'images suivants sont acceptés en standard dans les spécifications du W3C :
Il est important de bien choisir son format d'image et de bien optimiser sa compression.
Des logiciels comme Photoshop ou Gimp permettent de bien préparer les images pour les placer sur le Web.
Dans Photoshop, allez dans Fichier > enregistrer pour le Web et vous trouverez des options d'enregistrement des images.
Pour les images jpg, vous pouvez choisir le niveau de compression et un cadre vous propose la taille du fichier pour telle ou telle compression.
Pour les images gif, vous pouvez choisir les options perceptive, sélective, adaptative, Web, le tramage, la transparence et le nombre de couleurs : 2, 4, 8, 16, 32, 64, 128, 256.
Pour les images png, vous avez les options de compressions 8 bits ou 24 bits.
Pour toutes les images, il existe une option de taille de l'image, cela permet de réduire la taille des images en proportion.
Le code nécessaire pour insérer une image nécessite une précision d'un élément : l'attribut. Un attribut, c'est en quelque sortes une propriété que l'on précise au niveau de la balise ouvrante. Et comme toute propriété, on peut leur affecter une valeur.
Pour affecter une valeur à un attribut, on utilise le signe = (égal). Cela s'écrit attribut="valeur".
Selon le type d'attribut, la valeur sera du texte, un nombre, ou n'aura pas de valeur du tout.
Pour insérer une image, on doit donc employer la balise <img />. Elle peut prendre plusieurs attributs, et 2 d'entre eux sont indispensables :
Les attributs suivants ne sont plus valides : border, hspace, vspace, align
Certains attributs sont tolérés mais pas indispensables :
Nous verrons dans le chapitre consacré aux CSS la façon d'insérer les images au milieu du texte, en employant des calques et des styles.
On peut aussi insérer des images SVG dans une page HTML. Le SVG est un format vectoriel.
On peut écrire le code lorsqu'il est simple, comme dans cet exemple où l'on précise : les coordonnées du centre du cercle, son rayon, son trait, l'épaisseur de son trait et son remplissage.
<svg > <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" /> </svg>
Voici les nom pour les principale formes simples : Rectangle <rect>, Circle <circle>, Ellipse <ellipse>, Line <line>,Polyline <polyline>, Polygon <polygon>. Pour en savoir plus rendez vous sur le site http://www.w3schools.com/svg/
Les images SVG complexes sont créées à l'aide de logiciels vectoriels comme Illustrator, Inkscape, Open office draw. On enregistre sous >.svg. Si l'image comporte du texte et qu'on ne vectorise pas le SVG, le texte est sélectionnable dans la page. On insére les images svg à l'aide de balise <svg></svg>
On copie puis colle le code généré par la logiciel vectoriel. Lorsque l'on zoome sur l'image, elle ne se pixélise pas. Voici un exemple :
On peut réaliser une image cliquable en plaçant un lien sur une image. Voici comment procéder :
<a href="URL"><img src="image" alt="description"/></a>
Dans l'exemple suivant l'image est cliquable et mène sur un site consacré aux logos festifs de google :
On appelle "image cliquable" une image dans laquelle sont définies des zones associées à des liens. Selon l'endroit où l'on clique sur la carte, un lien différent est activé. Il est possible de créer des zones cliquables à l'intérieur même d'une image grâce à l'attribut usemap utilisé conjointement avec la balise map.
Voici le code associé à l'image map:
<img src="macarte.jpg"alt="carte" usemap=#map/>
La balise <MAP> a un attribut name définissant son nom (name="nom") et contient les zones cliquables déclarées grâce à des balises area.
La zone cliquable, area shape, peut prendre plusieurs formes :
L'attribut coords contient les coordonnées de la zone cliquable, séparées par des virgules
Pour l'exemple ci-contre, j'ai dessiné deux zones cliquables : une pour la Haute Corse et la seconde pour la Corse du Sud.
J'ai réalisé les zones cliquable en m'aidant d'un logiciel (dreamweaver) qui a rédigé pour moi les points du polygone. Voici le code :
<img src="images/corse.jpg" alt="carte corse" usemap="#Map"/> <map name="Map">
<area shape="poly" coords="24,103,131,-8,152,146,130,189,24,103" href="http://fr.wikipedia.org/wiki/Haute-Corse" alt="haute corse " />
<area shape="poly" coords="21,120,52,252,104,291,129,204,21,120" href="http://fr.wikipedia.org/wiki/Corse-du-Sud" alt="corse du sud" />
</map>