我正在尝试绘制填充颜色的饼形。我试图以不同的方式做到这一点。这是代码:
ball = pygame.draw.circle(self.screen, self.pink, self.pos, self.r, 0)
pygame.gfxdraw.pie(self.screen, 60,60, 40, 0, 90,(0,255,0))
pygame.gfxdraw.arc(self.screen, 60,60, 40, 180, 270,(0,255,255))
pygame.draw.arc(self.screen, (255,0,255),ball,0, math.pi/4, ball.width/2)
输出图像如下:
我希望馅饼形状充满颜色,如洋红色的形状。我使用了弧函数并将线设置为=半径来实现这一点(代码中的第4行)。但是,颜色不均匀填充。我也尝试绘制一个饼形(代码中的第二行)但是,我找不到填充颜色的方法......
非常感谢你的帮助!
答案 0 :(得分:3)
您可以绘制足够精细的多边形(例如以一度间隔):
import math
import pygame
# Center and radius of pie chart
cx, cy, r = 100, 320, 75
# Background circle
pygame.draw.circle(screen, (17, 153, 255), (cx, cy), r)
# Calculate the angle in degrees
angle = val*360/total
# Start list of polygon points
p = [(cx, cy)]
# Get points on arc
for n in range(0,angle):
x = cx + int(r*math.cos(n*math.pi/180))
y = cy+int(r*math.sin(n*math.pi/180))
p.append((x, y))
p.append((cx, cy))
# Draw pie segment
if len(p) > 2:
pygame.draw.polygon(screen, (0, 0, 0), p)