Graphique type secteur

Description

Voici le début d'une création de générateurs de graphiques. Le premier graphique présenté ici est un secteur. Il est présenté ici dans une Winform et dans une page Web.

Source / Exemple :


using System;
using System.Collections;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Drawing;
using Wapiti.Drawing.Charts;
using System.IO;
using System.Drawing.Imaging;

namespace SecteurWebDemo
{
    /// <summary>
    /// Image du secteur
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class CustumerSecteur : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "image/png";
            //
            // Création de la source de données
            //
            CustumerCollection custumers = new CustumerCollection();
            custumers.AddWithValue("Employés", 25);
            custumers.AddWithValue("Cadre", 30);
            custumers.AddWithValue("Fonctionnaire", 15);
            custumers.AddWithValue("Directeur", 2);

            //
            // Initialisation du Secteur et DataBind des données
            //
            Secteur _secteur = new Secteur();
            _secteur.GradientBrush = true;
            _secteur.Colors = new Color[] { Color.Green, Color.Yellow, Color.Red, Color.Blue };
            _secteur.DataSource = custumers;
            _secteur.DataField = "WorkDays";
            _secteur.DataTextFormatField = "PercentFormat";
            _secteur.DataBind();
            //
            // Création du Bitmap de dessin
            //
            Bitmap bmp = new Bitmap(500, 500);
            try
            {
                _secteur.Paint(bmp, new RectangleF(5, 5, 490, 490));
                using (MemoryStream ms = new MemoryStream())
                {
                    bmp.Save(ms, ImageFormat.Png);
                    ms.WriteTo(context.Response.OutputStream);
                    context.Response.End();
                }
            }
            catch
            {
                context.Response.WriteFile("error.png");
                context.Response.End();
            }
            finally
            {
                bmp.Dispose();
            }
            
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

Codes Sources

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.