Je souhaite dessiner quelques cercles de grand rayon sur l'écran en utilisant pygame. Je voudrais définir une surface appelée surface1
plus grande que ma surface d'affichage (screen
) et tracer mes cercles dans la dimension réelle. Une fois que je fais cela, je prévois de remettre à l'échelle surface1
et l'afficher sur screen
. Voici mon code:Pygame - Est-il possible de tout créer sur une surface et de l'agrandir pour afficher la surface?
import pygame
pygame.init()
live = True
while live:
surface1 = pygame.Surface((7680, 4320))
screen = pygame.display.set_mode((1280, 720))
# pygame.display.flip()
surface1.fill((255, 255, 255))
pygame.draw.circle(surface1, (0, 0, 0), (3839, 2160), 4500, 10)
surface1 = pygame.transform.scale(surface1, (1280, 720))
surface1.convert()
screen.blit(surface1, (0, 0))
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
live = False
Pour une raison quelconque, je ne peux pas voir le cercle. Cependant, la couleur de la fenêtre affichée change en fonction de ce que j'ai défini à l'intérieur surface1
. Pourquoi cela se comporte-t-il de cette façon? Toute aide serait appréciée. Merci d'avance.
Oui, je n'ai pas remarqué ça. Merci. Mais disons que le cercle a un rayon de 1500. Est-ce la bonne logique? –
@Syamprasad K R oui cela fonctionnera avec un plus petit cercle, mais à cause de la grande surface et de la transformée la cadence sera très basse. Pourquoi faites-vous réellement cela? – skrx
Ceci est pour résoudre un problème d'ingénierie et les dimensions réelles sont grandes. J'essaie d'éviter de réduire tous les facteurs. Mais c'est ce que je fais maintenant. –