x
• Status: Solved
• Priority: Medium
• Security: Public
• Views: 201

# about the c++ bulider graph?

if i want to use the c++ builder to create the stock market graph?how will
i do?the step is?thank you very much!

0
tewehuang
• 3
1 Solution

Author Commented:
0

Commented:
if i'm not wrong there is a graph component in c++duilder or a component like excel try it
0

Author Commented:
0

Commented:
Hi. You must use standart TImage control for display
graph. Next is example displaying some graph(histogramm
of Picture , loaded in Image1, graph displayed
in Image3). In you example X may be Time, Y: size of rent:

void __fastcall TForm1::Open1Click(TObject *Sender)
{
if (OpenPictureDialog1->Execute())
{
POINT tPoint[256];                //coordinates
int nHist[256];
//clear all
memset(nHist,0, sizeof(nHist));
memset(tPoint,0, sizeof(tPoint));
//create Hist: for all pixels
for (int i = 0; i < Image1->Picture->Bitmap->Width; i++)
{
for (int j = 0; j < Image1->Picture->Bitmap->Height; j++)
{
long tColor1 = Image1->Picture->Bitmap->Canvas->Pixels[i][j];
BYTE tColor = (BYTE)tColor1;
nHist[tColor]++;                          //+1
}
//find Max of nHist
int nMax = nHist[0];
for (int i = 1; i < 256; i++)
nMax = max(nMax,nHist[i]);
//make point with coordinates
for (int i = 0; i < 256; i++)
{
tPoint[i].x = (float)Image3->Width/ (float)(255)*(float)i;
tPoint[i].y =  (float)Image3->Height*(1. - (float)nHist[i]/(float)nMax);
}
}
//display image
Image1->Picture->Bitmap;
//display Graph
Image3->Canvas->Polyline((const TPoint*)tPoint, 255);
}
}
I hope, it helps. Alex
0

Author Commented:
thank you for your answer!i will try this method !if i have any problem that
i think you will help me again!thank you!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.