1
A
回答
1
PyGame
没有函数来创建填充arc/pie
但您可以使用PIL/pillow
与pieslice
生成位图并转换为PyGame
图像以显示它。
import pygame
#import pygame.gfxdraw
from PIL import Image, ImageDraw
# --- constants ---
BLACK = ( 0, 0, 0)
WHITE = (255, 255, 255)
BLUE = ( 0, 0, 255)
GREEN = ( 0, 255, 0)
RED = (255, 0, 0)
GREY = (128, 128, 128)
#PI = 3.1415
# --- main ----
pygame.init()
screen = pygame.display.set_mode((800,600))
# - generate PIL image with transparent background -
pil_size = 300
pil_image = Image.new("RGBA", (pil_size, pil_size))
pil_draw = ImageDraw.Draw(pil_image)
#pil_draw.arc((0, 0, pil_size-1, pil_size-1), 0, 270, fill=RED)
pil_draw.pieslice((0, 0, pil_size-1, pil_size-1), 330, 0, fill=GREY)
# - convert into PyGame image -
mode = pil_image.mode
size = pil_image.size
data = pil_image.tobytes()
image = pygame.image.fromstring(data, size, mode)
image_rect = image.get_rect(center=screen.get_rect().center)
# - mainloop -
clock = pygame.time.Clock()
running = True
while running:
clock.tick(10)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
running = False
screen.fill(WHITE)
#pygame.draw.arc(screen, BLACK, (300, 200, 200, 200), 0, PI/2, 1)
#pygame.gfxdraw.pie(screen, 400, 300, 100, 0, 90, RED)
#pygame.gfxdraw.arc(screen, 400, 300, 100, 90, 180, GREEN)
screen.blit(image, image_rect) # <- display image
pygame.display.flip()
# - end -
pygame.quit()
结果:
相关问题
- 1. 如何在PyGame中绘制圆形?
- 2. 在WPF/C中绘制一个半圆/半圆#
- 3. 用椭圆绘制圆形pygame
- 4. 以半圆形绘制点
- 5. 如何绘制半圆
- 6. 如何绘制Python中的半椭圆?
- 7. 半圆形进度条Android - 绘制半圆
- 8. 绘制一个半圆形按钮iOS
- 9. SVG绘制动画的半圆不虚
- 10. three.js - 绘制一半的挤压圆圈
- 11. 为绘制UIImageView设置圆角半径
- 12. 圆角半径可绘制形状
- 13. PIXI.js - 如何绘制一半的圆?
- 14. Androidplot绘制圆,给点和半径
- 15. 使用边框半径绘制圆圈
- 16. 绘制一个填充的半圆
- 17. 在pygame中绘制圆圈时的白点
- 18. 在Pygame中使用Tkinter绘制一个圆圈
- 19. 如何在excel VBA中在窗口边缘绘制半圆
- 20. 在openlayers.js中,有没有办法在绘制该圆时显示圆的半径?
- 21. 如何在Raphael JS中绘制半个椭圆?
- 22. 在地图视图中绘制一定半径的圆圈android
- 23. 如何仅在Python龟中绘制半圆
- 24. 如何在半圆图案中绘制点
- 25. 在CSS中绘制半圈
- 26. 在D3中绘制半径
- 27. 在R中绘制椭圆
- 28. 在Tkinter(Python)中绘制圆
- 29. 在C++中绘制圆圈
- 30. 在android中绘制圆圈
@ TigerhawkT3我编辑的问题 “来解释它是如何不同”。你能打开它吗? –
怎么样一个好的多边形? http://stackoverflow.com/questions/23246185/python-draw-pie-shapes-with-colour-filled – dodell