una negro matrices marcadores libreria guardar graficos graficar grafica con como color python image pygame smooth

python - negro - La imagen gira en Pygame mientras mantiene los bordes suaves



marcadores python (3)

Me gustaría rotar una imagen y también mantener los bordes lisos.

Así es como esto luce

Y después de rotar

El código que estoy usando parece

def rot_center(self, image, angle): """rotate an image while keeping its center and size""" orig_rect = image.get_rect() rot_image = pygame.transform.rotate(image, angle) rot_rect = orig_rect.copy() rot_rect.center = rot_image.get_rect().center rot_image = rot_image.subsurface(rot_rect).copy() return rot_image

¿Hay algo que estoy haciendo mal?


Sin embargo, Rotozoom no parece suavizar los bordes de una superficie. Es decir, la parte interna de la imagen se verá bien, pero el borde aún no tiene antialias.


El problema con el rotozoom es cuando los bordes de la imagen tocan el rectángulo y no todas las partes externas, eso significa que si tienes un barco, por ejemplo, los bordes hundidos se verán bien, solo las partes más anchas tendrán el problema de aliasing. Logré solucionarlo yendo al photoshop y escalando en mi archivo PNG en 2 píxeles (depende de tu imagen, tal vez tendrás que experimentar con diferentes factores de escala), de esta manera, aún tengo las dimensiones de la misma imagen pero la imagen real ( los píxeles de color) no tocarán el rectángulo de la imagen mientras gira.