Dernière mise à jour :2008-07-24

informatique

Demandez à n'importe quel développeur ASP qui a déjà eu à créer dynamiquement ses propres images dans une application web. Celui-ci vous répondra probablement que c'est un véritable cauchemard. La seule solution en fait réside en la création ou l'utilisation d'un contrôle provenant d'une autre organisation.

En utilisant ASP.Net par contre, c'est tout le contraire. Vous pouvez en effet développer vos propre images dynamique avec facilité. Il faut simplement créer une image et ensuite, on peut utiliser le GDI+ (Graphic Device Interface) pour ajouter des objets à cette image comme par exemple, du texte, des formes rectangulaires, des ellipses etc... Vous pouvez aussi ouvrir une image déjà existante et la modifier. Vous avez accès à chacun des pixel de votre images. Il est donc possible pour les amateur de création de filtre de se générer un petit le logiciel de traitement d'images. Après traitement par l'application, l'image est tout simplement renvoyé à l'utilisateur au format désiré.

Puisque présenter toutes les possibilités offertes pour la création de graphiques demanderait à elle seule un livre complet, et que bien entendu, je ne dispose pas d'assez de temps pour en faire la création, je vais simplement présenter un exemple dans lequel je vous montrerez comment créer une image de forme rectangulaire dans laquelle est inséré deux cercles ainsi que le mot A525G.

Avant de commencer à coder, il faut importer le namespace System.Drawing. Celui-ci contient l'ensemble des classes de base permettant la création d'images avec le .Net Framework. Pour importer le namespace en question, insérez la ligne suivante dans votre programme :

Notez aussi que le code suivant est réalisé en VB.Net.

<%@ import namespace="System.Drawing" %>

Il faut ensuite se créer un objet de type Bitmap de la grandeur désiré. Notez que le type d'image par défaut de Windows est le Bitmap. En fait, toute image que vous voyez apparaitre sur votre écran sur un système Windows est traité comme un bitmap même si par exemple, celle-ci est au format GIF. L'ordinateur procédera à la décompression de l'image et la transformera en bitmap.

Pour créer notre bitmap, nous allons insérer la ligne suivante dans le code :

Dim objBitmap As Bitmap = New Bitmap(120, 30)

Pour pouvoir écrire dans l'image, la remplir d'une couleur quelconque ou encore y dessiner des formes spécifiques, nous aurons besoin d'un objet Graphic. Nous allons créer cet objet à partir de l'objet Bitmap précédament créé.

Dim objGraphics As Graphics = Graphics.FromImage(objBitmap)

Nous allons ensuite remplir la zone rectangulaire de l'image avec la couleur noir, puis nous feront la création de deux cercles rouge et pour terminer, nous allons écrire le mot A525G en blanc. Voir le listing complet ci-dessous :

Listing 1.0 Création d'une image avec ASP.Net
1. <%@ import namespace="System.Drawing" %>
2. <%
3. Dim objBitmap As Bitmap = New Bitmap(120, 30)
4. Dim objGraphics As Graphics = Graphics.FromImage(objBitmap)
5.
6. objGraphics.FillRectangle(New SolidBrush(Color.Black), 0, 0, 120, 30)
7.
8. ' Création de deux cercles rouge
9. objGraphics.FillEllipse(New SolidBrush(Color.Red), 100, 10, 8, 8)
10. objGraphics.FillEllipse(New SolidBrush(Color.Red), 4, 10, 8, 8)
11.
12. ' Dessiner le texte A525G
13. objGraphics.DrawString("A525G", New Font("Arial", 10), New SolidBrush(Color.White), 35, 8)
14.
15. ' Envoyer le résultat au client
16. Response.Clear
17. Response.ContentType = "image/jpeg"
18. objBitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg)
19.
20. objGraphics.Dispose()
21. objBitmap.Dispose()
22. %>

Maintenant il ne vous reste plus qu'à vous perfectionné davantage au sujet du GDI+ et le monde de la création d'images dynamique est à vous. Bonne progammation!

Auteur : Sylvain Bilodeau

Date de mise en ligne : 2003-09-17

Aucun commentaire pour l'instant.