如何利用BCB繪製波形圖
2010/01/21 10:37
瀏覽1,167
迴響0
推薦0
引用0
問題:
我有一個函數波形圖,儲存在陣列dWave[index]裡面,如何將之繪製出波形圖出來?
解答:
//示波器=============================
iImage->Canvas->Brush->Color = (TColor) 0x303030;
iImage->Canvas->Rectangle( TRect(0, 0,iImage->Width, iImage->Height));
iImage->Canvas->Pen->Width=1;
iImage->Canvas->Pen->Color=clGreen;
for(index=0;index<iImage->Width;index+=Wsq)
{
iImage->Canvas->MoveTo(index,0);
iImage->Canvas->LineTo(index,iImage->Height);
}
for(index=0;index<iImage->Height/2;index+=20)
{
iImage->Canvas->MoveTo(0,iImage->Height/2-index);
iImage->Canvas->LineTo(iImage->Width,iImage->Height/2-index);
iImage->Canvas->MoveTo(0,iImage->Height/2+index);
iImage->Canvas->LineTo(iImage->Width,iImage->Height/2+index);
}
//中隔線===============================
iImage->Canvas->Pen->Color = clRed;
iImage->Canvas->MoveTo(0,iImage->Height/2);
iImage->Canvas->LineTo(iImage->Width,iImage->Height/2);
//波形=================================
iImage->Canvas->Pen->Color = clSkyBlue;
iImage->Canvas->MoveTo(0,iImage->Height/2);
iImage->Canvas->Pen->Width=1;
for(index=0;index<iImage->Width;index++)
{
iImage->Canvas->LineTo(index,iImage->Height/2-(dWave[index]*iImage->Height)/256);
}
我有一個函數波形圖,儲存在陣列dWave[index]裡面,如何將之繪製出波形圖出來?
解答:
//示波器=============================
iImage->Canvas->Brush->Color = (TColor) 0x303030;
iImage->Canvas->Rectangle( TRect(0, 0,iImage->Width, iImage->Height));
iImage->Canvas->Pen->Width=1;
iImage->Canvas->Pen->Color=clGreen;
for(index=0;index<iImage->Width;index+=Wsq)
{
iImage->Canvas->MoveTo(index,0);
iImage->Canvas->LineTo(index,iImage->Height);
}
for(index=0;index<iImage->Height/2;index+=20)
{
iImage->Canvas->MoveTo(0,iImage->Height/2-index);
iImage->Canvas->LineTo(iImage->Width,iImage->Height/2-index);
iImage->Canvas->MoveTo(0,iImage->Height/2+index);
iImage->Canvas->LineTo(iImage->Width,iImage->Height/2+index);
}
//中隔線===============================
iImage->Canvas->Pen->Color = clRed;
iImage->Canvas->MoveTo(0,iImage->Height/2);
iImage->Canvas->LineTo(iImage->Width,iImage->Height/2);
//波形=================================
iImage->Canvas->Pen->Color = clSkyBlue;
iImage->Canvas->MoveTo(0,iImage->Height/2);
iImage->Canvas->Pen->Width=1;
for(index=0;index<iImage->Width;index++)
{
iImage->Canvas->LineTo(index,iImage->Height/2-(dWave[index]*iImage->Height)/256);
}
你可能會有興趣的文章:
限會員,要發表迴響,請先登入

