【问题标题】:Pygame Rotation size issuesPygame 旋转大小问题
【发布时间】:2021-03-11 21:55:38
【问题描述】:

我正在尝试旋转图像,使其始终面向鼠标,并且我注意到图像大小正在发生变化。我正在尝试排除故障,但没有运气。我想要一些建议。

这是我正在使用的:

ang = 360 - math.atan2(mousey - 540, mousex - 960) * 180 / math.pi
rotcircle = pygame.transform.scale(pygame.transform.rotate(redcircle,ang), [100, 100])
rect = rotcircle.get_rect(center=(960,540))
screen.blit(rotcircle,rect)

【问题讨论】:

标签: python pygame resize image-rotation


【解决方案1】:

想想吧。例如,如果您将图像旋转 45 度,则曲面自然必须更大以容纳拐角,否则这些拐角会伸出原始曲面的边界。所以,如果你旋转图像,它会变大,正如documentation 所说:

除非以 90 度为增量旋转,否则图像将被填充得更大以保持新尺寸。如果图像具有像素 alpha,则填充区域将是透明的。否则 pygame 将选择与 Surface colorkey 或左上角像素值匹配的颜色。

您明确将表面强制为 100x100,这意味着图像越接近旋转 45 度(再次举例),它就会显得越小。简单的解决方案是停止调整图像的大小,或者使用另一个足够大的表面来容纳旋转的图像,然后将旋转的图像blit到它上面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-13
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多