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 44 45 46 47 48 49
| void Dessine()
{
int X0,Y0,X,Y,X_max,Y_max,Y_size;
float Id_max=0.001;
float Id_min=100;
// dessin du graphique
Form1->Image2->Canvas->Pen->Color=clBlack;
Form1->Image2->Canvas->Brush->Color=clWhite;
Y_size = ( Form1->Height - 300)/2;
X0 = 20;
X_max=Form1->Width-2*X0;
Y0=(Form1->Height/2 + 20);
Y_max=Y0-Y_size;
Form1->Image2->Canvas->Rectangle(X0-10,Y_max-10,X_max+10,Y0+10);
Form1->Image2->Canvas->MoveTo(X0,Y0);
// determination du maximum pour l'echele des y
for (int i=0;i<100;i++)
{
if ((tab[1][i])>Id_max){Id_max=tab[1][i];};
if ((tab[1][i])<Id_min){Id_min=tab[1][i];};
}
//creation des axes
Form1->Image2->Canvas->MoveTo(X0-5,Y0);
Form1->Image2->Canvas->LineTo(X_max,Y0);
Form1->Image2->Canvas->MoveTo(X0,Y0+5);
Form1->Image2->Canvas->LineTo(X0,Y_max);
for (int i=0;i<100;i++)
{
X=(tab[0][i])*100/(Form1->Width-40);
Y=(tab[1][i])*Id_max/(Form1->Height-50);
Form1->Image2->Canvas->LineTo(X0+X,Y0-Y);
}
// dessin du diagramme proprement dit
Form1->Image2->Canvas->Pen->Color=clRed;
Form1->Image2->Canvas->MoveTo(X0,Y0-tab[1][0]*Y_max/Id_max);
for (int i=0;i<100;i++)
{
Form1->Image2->Canvas->LineTo(X0+i*X_max/100,Y0-(tab[1][i]*Y_max/Id_max));
} |
Partager