Delphi GR32_VectorUtils.Circle方法的工作原理与我的预期不同

Delphi GR32_VectorUtils.Circle方法的工作原理与我的预期不同,delphi,graphics32,Delphi,Graphics32,我使用以下代码块在TBitmap32(x:0,y:0)点上绘制一个圆 Pts:=圆(0,0,35) PolylineFS(位图32,Pts,clBlack32,True,3) 但是,绘制的圆是在指定坐标后绘制的。圆的一半位于TBitmap32的负坐标中 Pts:=圆(35,35,35) 当我尝试这行代码时,x坐标几乎绘制到正确的点,但Y点仍然不在正确的坐标中 我希望此函数的作用类似于TCanvas.eliple。我尝试了很多东西,但没有成功。代码按设计执行。您提供的坐标是圆的中心和半径 当然,如

我使用以下代码块在TBitmap32(x:0,y:0)点上绘制一个圆

Pts:=圆(0,0,35)

PolylineFS(位图32,Pts,clBlack32,True,3)

但是,绘制的圆是在指定坐标后绘制的。圆的一半位于TBitmap32的负坐标中

Pts:=圆(35,35,35)

当我尝试这行代码时,x坐标几乎绘制到正确的点,但Y点仍然不在正确的坐标中


我希望此函数的作用类似于TCanvas.eliple。我尝试了很多东西,但没有成功。

代码按设计执行。您提供的坐标是圆的中心和半径

当然,如果以0为中心,则圆的一半将具有负坐标。通过传递圆心的坐标来解决问题


我希望此函数的作用类似于
TCanvas.eliple

这不是针对第三方接口编程的工作方式。第三方库的作者决定界面,您必须遵循它。在这种情况下,图书馆的作者已经命令你必须提供圆圈的中心。在这件事上你别无选择。您必须遵循库作者定义的接口


如果希望以不同的方式提供坐标,则需要编写适配器。您可以编写自己的代码,以希望使用的形式接受坐标,然后让代码将您的坐标转换为库所需的坐标

由于窗口问题,结果似乎是错误的。x=35,y=35正确。非常感谢。