Faire un historgramme (en gif) à la volée en asp.net


Contenu du snippet

Ce script vous montre comment générer une image GIF à la volée grâce à ASP.Net
Créez une page, mettez ceci dans le code (supprimez tout le html dans le fichier .aspx)

Source / Exemple :


' A mettre en haut de votre page avant le "Public Class"
Imports System.Drawing
Imports System.Drawing.Imaging

' Puis mettez ceci dans votre Page_Load
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim i As Integer
    Dim MaBitMap As New Bitmap(300, 250) ' On créé une image de 300x250
    Dim MonObjGfx As Graphics
    Dim MesValeurs(9) As Integer
    Dim MesDescriptions(9) As String

    MonObjGfx = Graphics.FromImage(MaBitMap)
    ' On met un fond blanc
    MonObjGfx.Clear(Color.White)
    ' On trace un rectangle tout autour de notre image
    MonObjGfx.DrawRectangle(Pens.Black, 0, 0, 299, 249)
    ' On donne titre à notre graphique
    MonObjGfx.DrawString("ASPFr.Com Rulez ! ;-)", New Font("Verdana", 16, FontStyle.Bold), Brushes.Black, New PointF(5, 5))

    For i = 0 To 9
        ' On rempli avec un nombre aléatoire entre 0 et 200
        MesValeurs(i) = 200 * Rnd()
        ' Pour cet exemple, on met la valeur en temps que légende
        MesDescriptions(i) = MesValeurs(i)
        ' On trace le rectangle de couleur Bleu
        MonObjGfx.FillRectangle(New SolidBrush(Color.Blue), ((i + 1) * 25), 230 - MesValeurs(i), 10, MesValeurs(i))
        ' Histoire de rendre un peu plus beau notre histogramme, on met un contour pour chaque barre
        MonObjGfx.DrawRectangle(Pens.Black, ((i + 1) * 25), 230 - MesValeurs(i), 10, MesValeurs(i))
        ' On affiche la légende en dessous de la barre tracée
        MonObjGfx.DrawString(MesDescriptions(i).ToString, New Font("Arial", 8), Brushes.Black, ((i + 1) * 25), 235)
    Next
    ' On "balance" le graph au format Gif
    MaBitMap.Save(Response.OutputStream, ImageFormat.Gif)

    ' On peut très bien le sortir en Jpeg ou dans d'autres formats, voici la syntax :
    ' MaBitMap.Save(Response.OutputStream, ImageFormat.Jpeg)
End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.