begin process at 2008 05 16 19:06:09
1 173 667 membres
480 nouveaux aujourd'hui
13 972 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

FAIRE UN HISTORGRAMME (EN GIF) À LA VOLÉE EN ASP.NET


Information sur la source

Catégorie :Graphique Source .NET ( DotNet ) Niveau : Débutant Date de création : 25/04/2002 Date de mise à jour : 25/04/2002 17:03:30 Vu : 13 571

Note :
8 / 10 - par 2 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


Description

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

  • ' 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 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
 
  • signaler à un administrateur
    Commentaire de lexxx le 09/07/2002 09:40:44

    Ca m'a l'air bien bien sympa comme script mais je ne sais pas comment faire pour insérer ce qui est en en-tête et qui doit figurer avant le public class.
    Si quelqu'un peut m'aider.
    Merci

  • signaler à un administrateur
    Commentaire de DreaMs le 21/05/2003 17:15:52

    Tout en haut de ton code :
    <%@ Page Language="VB" %>
    <%@ Import NameSpace="System.Drawing" %>
    <%@ Import NameSpace="System.Drawing.Imaging" %>
    <script runat="server">

  • signaler à un administrateur
    Commentaire de vfi le 03/10/2003 14:25:18

    C'est super sympas comme script.
    J'aurais voulu savoir comment faire pour afficher le graph dans une sorte de popup?
    En fait je voudrais dimensionner la fenetre de sortie (Response.OutputStream) au format de mon graphique.

    Merci

  • signaler à un administrateur
    Commentaire de ankou22 le 08/04/2005 10:50:01

    Bonjour, j'ai fait tout comme il est dit ... mais je n'arrive pas faire fonctionner cette source.
    J'ai une page blanche et vide...

    Dans le code HTML, j'ai mis ca... c'est Bon ?

    <%@ Page Language="vb" %>
    <%@ Import NameSpace="System.Drawing" %>
    <%@ Import NameSpace="System.Drawing.Imaging" %>
    <script runat=server ></script>

    il faut faire autre chose ?

    Merci  

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Boutique

Boutique de goodies CodeS-SourceS