1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| private static Bitmap CreateCourbe(int p1, int p2, int p3, int p4, int p5, int p6, int p7)
{
//Ici je crée ma courbe et retourne l'image correspondante
Bitmap bmp = new Bitmap(194, 123);
Graphics g = Graphics.FromImage(bmp);
Brush vBrush;
if (p7 < 10)
{ vBrush = Brushes.MediumBlue; }
else if (p7 < 25)
{ vBrush = Brushes.SteelBlue; }
else if (p7 < 50)
{ vBrush = Brushes.CornflowerBlue; }
else if (p7 < 75)
{ vBrush = Brushes.LightBlue; }
else { vBrush = Brushes.White; }
g.FillRectangle(Brushes.Gray, new Rectangle(0, 0, 194, 123));
g.FillRectangle(vBrush, new Rectangle(0, 0, 150, 100));
//Coordonnées courbe
PointF[] points = new PointF[8];
points[0].X = 0; points[0].Y = 100 - 0; points[1].X = 5; points[1].Y = 100 - p1;
points[2].X = 10; points[2].Y = 100 - p2; points[3].X = 20; points[3].Y = 100 - p3;
points[4].X = 40; points[4].Y = 100 - p4; points[5].X = 60; points[5].Y = 100 - p5;
points[6].X = 90; points[6].Y = 100 - p6; points[7].X = 150; points[7].Y = 100 - p7;
//Lignes
Pen vPenLine = new Pen(Brushes.LightGray);
g.DrawLine(vPenLine, new PointF(0, 25), new PointF(150, 25)); g.DrawLine(vPenLine, new PointF(0, 50), new PointF(150, 50));
g.DrawLine(vPenLine, new PointF(0, 75), new PointF(150, 75));// g.DrawLine(vPenLine, new PointF(25, 0), new PointF(25, 100));
//courbe
Pen vPen = new Pen(Brushes.Black);
g.DrawCurve(vPen, points, 0.4F);
//Légende
g.DrawString("5", new Font("Arial", 7), Brushes.White, new PointF(2, 105)); g.DrawString("20", new Font("Arial", 7), Brushes.White, new PointF(16, 105));
g.DrawString("40", new Font("Arial", 7), Brushes.White, new PointF(36, 105)); g.DrawString("60", new Font("Arial", 7), Brushes.White, new PointF(56, 105));
g.DrawString("90", new Font("Arial", 7), Brushes.White, new PointF(86, 105)); g.DrawString("90+", new Font("Arial", 7), Brushes.White, new PointF(132, 105));
g.DrawString("25%", new Font("Arial", 7), Brushes.White, new PointF(155, 72)); g.DrawString("50%", new Font("Arial", 7), Brushes.White, new PointF(155, 47));
g.DrawString("75%", new Font("Arial", 7), Brushes.White, new PointF(155, 22)); g.DrawString("Secondes", new Font("Arial", 7), Brushes.Black, new PointF(151, 105));
g.DrawString("Nb %", new Font("Arial", 7), Brushes.Black, new PointF(160, 5));
return bmp;
} |
Partager