Yo uso una función de Rabbid76. Con esta función puedo girar un rectángulo. El rectángulo obtener el tamaño de una imagen.Quiero cambiar el tamaño del rectángulo, lo que es más pequeño que el de la imagen . que yo intente con el cambio de topleft y topright. Es doesent trabajo.
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()