Bonjour,
Il arrive souvent dans les galeries d’images qu’il faille deux versions d’une même image : l’originale et une version réduite pour qu’on puisse charger l’ensemble des images rapidement. La solution qui semble être la plus simple, surtout si on travaille en html seulement, consiste à créer deux dossiers et de mettre dans l’un toutes les images grandeur nature et dans l’autre, les mêmes images, en petites tailles.
Ceci dit, il serait plus judicieux d’économiser l’espace disque dur en transformant l’image originale avant que celle-ci arrive chez le client. On disposera ainsi d’une seule version des images.
Pour y arriver, je vais présenter ici une classe, un handler qui hérite de l’interface IHttpHandler. J’ai réalisé cette classe en vue d’implémenter dans un futur proche une galerie dans mon site web.
Comment l'utiliser?
Supposons une image intitulée cheval.jpg sur notre serveur IIS dans le dossier Images du dossier Gallery de notre dossier wwwroot. On peut y accéder avec 127.0.0.1/Gallery/Images/cheval.jpg
Pour pouvoir profiter des fonctionnalités de ma classe, il faut respecter le prototype suivant :
127.0.0.1/Gallery/Images/cheval.jpg?width=800&he ight=600&quality=75&textMode=none
où width la largeur de l’image en pixel
height la hauteur de l’image en pixel
quality le taux de compression (100 pour aucune compression, 75 par défaut)
textMode pour l’intégration d’une description de l’image à partir d’un fichier xml
textMode peut prendre les valeur suivantes :
none n’afficher aucune description
text afficher une description en format html
image intégré la description à même l’image
Implémentation dans un serveur IIS :
Dans le zip, j'ai inclus un document word (tutorial.doc) qui montre pas à pas comment implémenter cette classe avec des images