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()