• Article
  • Discussion
  • Modifier
  • Historique

Images, images avec zones réactives

Un article de Eric Bruyndonckx.

Sommaire

[modifier] Les formats d'image

[modifier] GIF87a (Graphic Interchange Format)

  • Couleurs indexées (max. 8bits/pixel => 256 couleurs),
  • Compression sans perte (lossless LZW compression),
  • Entrelacement facultatif (permettant affichage progressif).

[modifier] GIF89a (Graphic Interchange Format)

  • Voir GIF87a,
  • Transparence,
  • Animation (GIF-animé).

[modifier] JPEG (Joint Photographic Experts Group)

  • Couleurs vraies (24 bits/pixel => 16 millions de couleurs),
  • Compression avec perte (lossy compression : différents facteurs de compression/perte),
  • Progressive (analogue à entrelacement GIF).

[modifier] PNG (Portable Network Format)

  • Défini sous l'autorité du W3C),
  • Couleurs vraies (jusqu'à 48 bits en couleur et 16 bits en n-bl.) ou indexées,
  • Compression sans perte (meilleure que GIF),
  • Affichage progressif,
  • Correction gamma, alpha channel (effets sophistiqués de transparence),
  • Réellement supporté à partir des versions 4 des navigateurs, mais encore très peu répandu.

[modifier] Les Images

[modifier] Insérer des images

<img src="URL" alt="texteAlternatif" />

Pour URL mentionnez une adresse Web ou la cible avec ou sans chemin du fichier image désiré.

Pour texteAlternatif mentionnez un texte alternatif qui s'affichera en lieu et place de l'image dans le cas où :

  • le navigateur n'est pas capable d'afficher l'image en général (ex : navigateur en mode texte),
  • l'utilisateur a configuré son navigateur de façon à ne pas afficher les images (ex : Firefox),
  • le lien pointant vers l'image est rompu.

[modifier] Description d'une image

[modifier] Courte

<img src="URL" alt="texteAlternatif" title="descriptionComplementaire" />

Pour descriptionComplementaire l'attribut title permet (à partir de Mozilla 1, Netscape 6, IE 5) d'associer à l'image une description complémentaire qui apparaît sous la forme d'une info-bulle jaune lorsque le curseur survole l'image.

[modifier] Longue

<img src="URL" alt="texteAlternatif" longdesc="URL" />

Pour URL l'attribut longdesc permet de définir un lien vers une ressource fournissant une description plus détaillée de l'image.


[modifier] Largeur et hauteur d'une image

<img src="URL" alt="texteAlternatif" width="pixels"  height="pixels" />

Pour pixels les attributs height et width permettent de redimensionner une image (compression) afin de bénéficier d'une meilleure qualité de la page à l'impression.

Exemple : afficher une image de 800x600 pixels dans une page Web aux dimensions 200x150 pixels, 2 possibilités se présentent :

  • redimensionnement de l'image avec une application de traitement d'image (Gimp, PaintShop Pro, PhotoShop, etc.) en 25% (200x150 pixels). On l'affiche simplement avec <img src="URL" alt="texteAlternatif" />. La conséquence est une rapidité d'affichage, mais une diminution de la qualité d'impression.
  • insertion de l'image originale (800x600 pixels) mais avec <img src="URL" alt="texteAlternatif" width="200" height="150" />. Cette compression augmentera la qualité d'impression, mais diminuera le temps de chargement de la page Web.

[modifier] Bordure d'une image

<img src="URL" alt="texteAlternatif" border="epaisseur" />

Pour border mentionnez un nombre pour définir l'épaisseur de la bordure en pixels.

[modifier] Alignement des images dans le texte

<img src="URL" alt="texteAlternatif" align="alignement" />

Pour alignement notez une des valeurs suivantes :

  • top = en haut avec du texte avant ou après,
  • middle = au milieu par rapport au texte avant ou après,
  • bottom = en bas avec du texte avant ou après,
  • left = à gauche avec du texte à droite,
  • right = à droite avec du texte à gauche.

[modifier] Espacement entre l'image et le texte

<img src="URL" alt="texteAlternatif" align="alignement" hspace="espacementHorizontal" vspace="espacementVertical" />

Pour espacementHorizontal notez un nombre pour déterminer l'espace en pixels avec le texte à gauche et à droite de l'image.

Pour espacementVertical notez un nombre pour déterminer l'espace en pixels avec le texte au dessus et en dessous de l'image.

[modifier] Les images avec des zones réactives

[modifier] Définition des zones réactives

<img src="URL" alt="texteAlternatif" usemap="#nomCarte" />
 <map name="nomCarte">
  <area shape="type" coords="coordonnees" href="URL">
 </map>

Pour nomCarte de l'attribut usemap et name, le nom doit être identique.

Pour type mentionnez une des valeurs suivantes :

  • rect = zone réactive rectangulaire,
  • circle = zone réactive circulaire,
  • poly = zone réactive polygonale.


[modifier] zone réactive rectangulaire

Pour coordonnees mentionnez 4 valeurs, séparées par une vigule :

Exemple :

10,20,90,100

  • 10 est le commencement en pixels à partir de la gauche,
  • 20 est le commencement à partir du haut,
  • 90 est le coin en bas à gauche,
  • 100 est le coin en bas à droite.

[modifier] zone réactive circulaire

Pour coordonnees mentionnez 3 valeurs, séparées par une vigule :

Exemple :

100,20,90

  • 100 est le centre du cercle à partir de la gauche,
  • 150 est le centre du cercle à partir du haut,
  • 50 est le rayon du cercle.

[modifier] zone réactive polygonale

Pour coordonnees mentionnez de 6 à n valeurs pairs, séparées par une vigule :

Exemple :

10,20,40,30,300,200

  • 10 est le premier coin en pixels en partant de la gauche,
  • 20 est le premier coin à partir du haut,
  • 40 le deuxième coin en partant de la gauche,
  • 30 est le deuxième coin en partant du haut,
  • 300 est le troisième coin en partant de la gauche,
  • 200 est le troisième coin en partant du haut.

[modifier] Images aléatoires

Afin de donner un aspect toujours neuf à son site, il peut être intéressant de faire changer automatiquement les images d'une page à chaque rafraîchissement de cette page.

Pour ce faire, rien de plus simple qu'un petit script PHP:

Exemple: www.agencemag.ch

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
    <title>Images Aléatoires</title>
 <?php 
  //Définir le nombre d'images qui vont changer
$nbimages=4;   

  //Définir l'emplacement des images à afficher
$nomimages[1]="mon_image1.jpg"; 
$nomimages[2]="mon_image2.jpg"; 
$nomimages[3]="mon_image3.jpg"; 
$nomimages[4]="mon_image4.jpg"; 

    //Initialiser la fonction random 
srand((double)microtime()*1000000);

  //La fonction  rand() va générer un nombre aléatoire entre 1 et le nombre d'images défini dans la variable $nbimages
$affimage=rand(1,$nbimages);  
?>

</head>
 <body>
<!-- Inclure cette ligne de code à l'endroit où on veut faire apparaître l'image-->   
<img src="<?echo $nomimages[$affimage];?>" border=0 width=460 height=420 alt="Mon image">
 </body>
</html>

[modifier] Exercice

  1. Créez une page HTML,
  2. Insérez une image de votre choix,
  3. En dessous de cette image, insérez un trait horizontal d'une largeur de 100%,
  4. Insérez une nouvelle fois cette image mais réduite de 50%,
  5. Quand vous cliquez dessus, l'image doit s'afficher complètement (taille 100%).

Difficile sans éditeur HTML WYSIWYG (What You See Is What You Get)

[modifier] Corrigé

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <title>Mise en forme du texte, caractères spéciaux et tailles de caractères</title>
 </head>
 <body>
   <h1>Mes images</h1>
   <img src="images/suisse.gif" width="374" height="265" border="0">
   <hr width="100%">
   <a href="images/suisse.gif">
     <img src="images/suisse.gif" width="187" height="132" border="0" /><br />
     <font size="-2">Cliquez ici pour agrandir</font>
   </a>
 </body>
</html>

[modifier] Voir aussi