Python 如何绘制一定厚度的抗锯齿圆线?如何设置pygame.gfx.aacircle()的宽度?

Python 如何绘制一定厚度的抗锯齿圆线?如何设置pygame.gfx.aacircle()的宽度?,python,pygame,Python,Pygame,像pygame.draw.circle(表面、颜色、位置、半径、宽度),我想得到抗锯齿圆 但是,pygame.gfxdraw.aacircle()上没有关于宽度的选项 有人知道替代方法吗?模块和 模块提供具有可缩放厚度的抗锯齿圆的功能。虽然可以绘制不同宽度的圆,但可以绘制薄的抗锯齿圆 您可以尝试用pygame.draw.circle()为主体和pygame.gfxdraw.circle()在边缘缝合圆。但是,质量较低,可能取决于系统: def drawaa圆(表面、颜色、中心、半径、宽度):

pygame.draw.circle(表面、颜色、位置、半径、宽度)
,我想得到抗锯齿圆

但是,
pygame.gfxdraw.aacircle()
上没有关于宽度的选项

有人知道替代方法吗?

模块和 模块提供具有可缩放厚度的抗锯齿圆的功能。虽然可以绘制不同宽度的圆,但可以绘制薄的抗锯齿圆


您可以尝试用
pygame.draw.circle()
为主体和
pygame.gfxdraw.circle()
在边缘缝合圆。但是,质量较低,可能取决于系统:

def drawaa圆(表面、颜色、中心、半径、宽度):
pygame.gfxdraw.aacircle(冲浪,*中心,100,彩色)
pygame.gfxdraw.aacircle(冲浪,*中心,100宽,颜色)
pygame.draw.circle(冲浪、颜色、中心、半径、宽度)

我建议使用抗锯齿圆绘制图像,并对图像进行blit。可以使用OpenCV()创建图像。看

最简单的例子:

导入pygame
进口cv2
进口numpy
def DRAWA圆(表面、颜色、中心、半径、宽度):
圆=numpy.zero((半径*2+4,半径*2+4,4),数据类型=numpy.uint8)
圆形图像=cv2.圆形(圆形图像,(半径+2,半径+2),半径宽度//2,(*颜色,255),宽度,线型=cv2.线条)
circle\u surface=pygame.image.frombuffer(circle\u image.flatte(),(半径*2+4,半径*2+4),'RGBA')
冲浪板(圆形曲面,圆形曲面。获取直线(中心=中心))
pygame.init()
window=pygame.display.set_模式((300300))
clock=pygame.time.clock()
运行=真
运行时:
时钟滴答(60)
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
窗口填充((32,32,32))
drawAACircle(窗口,(255,0,0),window.get_rect()。中心,100,20)
pygame.display.flip()