J'utilise une fonction de Rabbid76. Avec cette fonction, je peux faire tourner un rectangle. Le rectangle obtenir la taille d'une image.Je veux modifier la taille du rectangle est plus petit que l'image . que j'essaie de la changer topleft et haut. Il doesent travail.
import pygame
pygame.init()
screen = pygame.display.set_mode((400, 400))
font = pygame.font.SysFont(None, 50)
clock = pygame.time.Clock()
#orig_image = font.render("rotated rectangle", True, (255, 0, 0))
angle =0
orig_image = pygame.image.load("Bilder/baum2.png")
rotated_image = pygame.transform.rotate(orig_image, angle)
def draw_rect_angle(surf, rect, pivot, angle):
rect.topleft = (rect.topleft[0] +25 , rect.topleft[1])
rect.topright = (rect.topright[0] -25, rect.topright[1])
pts = [rect.topleft, rect.topright, rect.bottomright, rect.bottomleft]
pts = [(pygame.math.Vector2(p) - pivot).rotate(-angle) + pivot for p in pts]
pygame.draw.lines(surf, (255, 255, 0), True, pts, 3)
run = True
while run:
clock.tick(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
screen.fill(0)
screen_center = screen.get_rect().center
screen.blit(rotated_image, rotated_image.get_rect(center = screen_center))
rect = orig_image.get_rect(center = screen_center)
draw_rect_angle(screen, rect, screen_center, angle)
pygame.display.flip()
pygame.quit()
exit()