BloodOxygen_Current := ADOT_SelectReviewData['breath'];
Img_BloodOxygen.Canvas.MoveTo(x, 88-(BloodOxygen_Current));
Img_BloodOxygen.Canvas.LineTo(x, 88);
x:=x+1;
Img_BloodOxygen.Canvas.MoveTo(x, 88-(BloodOxygen_Current));
Img_BloodOxygen.Canvas.LineTo(x, 88);
x:=x+1;
Img_BloodOxygen.Canvas.MoveTo(x, 88-(BloodOxygen_Current));
Img_BloodOxygen.Canvas.LineTo(x, 88);
x:=x+1;
ADOT_SelectReviewData.Next;
我用上面的方法画出的曲线有严重的锯齿,想求一函数我只要传入Y轴坐标值就能画出一平滑的曲线,谢谢!
Img_BloodOxygen.Canvas.MoveTo(x, 88-(BloodOxygen_Current));
Img_BloodOxygen.Canvas.LineTo(x, 88);
x:=x+1;
Img_BloodOxygen.Canvas.MoveTo(x, 88-(BloodOxygen_Current));
Img_BloodOxygen.Canvas.LineTo(x, 88);
x:=x+1;
Img_BloodOxygen.Canvas.MoveTo(x, 88-(BloodOxygen_Current));
Img_BloodOxygen.Canvas.LineTo(x, 88);
x:=x+1;
ADOT_SelectReviewData.Next;
我用上面的方法画出的曲线有严重的锯齿,想求一函数我只要传入Y轴坐标值就能画出一平滑的曲线,谢谢!
Img_BloodOxygen.Canvas.MoveTo(x, 88-(BloodOxygen_Current));
Img_BloodOxygen.Canvas.LineTo(x, 88);
x:=x+1;
Img_BloodOxygen.Canvas.MoveTo(x, 88-(BloodOxygen_Current));
Img_BloodOxygen.Canvas.LineTo(x, 88);
x:=x+1;
Img_BloodOxygen.Canvas.MoveTo(x, 88-(BloodOxygen_Current));
Img_BloodOxygen.Canvas.LineTo(x, 88);
x:=x+1;
ADOT_SelectReviewData.Next;
为什么重复画3次,难道是3条曲线?
如果是只画一条,应该是:
x := 0;//合适的数值
Img_BloodOxygen.Canvas.MoveTo(x, 88);
BloodOxygen_Current := ADOT_SelectReviewData['breath'];
Img_BloodOxygen.Canvas.LineTo(x, 88-(BloodOxygen_Current));
x:=x+1;
ADOT_SelectReviewData.Next;
自己用GDI写,我感觉有点难度,原理你可以通过MSDN搜索"锯齿效果"找到.