我想旋转图像并保持边缘平滑。
这就是它的样子
旋转后
我使用的代码看起来像
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
我有什么问题吗?
答案 0 :(得分:5)
尝试使用pygame.transform.rotozoom,其比例为1.
它表示已过滤,我认为这意味着AA。
答案 1 :(得分:1)
rotozoom的问题在于图像的边缘接触矩形而不是所有的外部部分,这意味着如果你有一艘船,例如,凹进的边缘看起来会很好,只有更宽的部分会有别名问题。我设法通过去Photoshop和我的PNG文件缩放2个像素来解决这个问题(取决于你的图像,你可能需要尝试不同的缩放因子),这样我仍然有相同的图像' s尺寸但实际图像(彩色像素)在旋转时不会触摸图像的矩形。
答案 2 :(得分:0)