ホームページ >バックエンド開発 >Python チュートリアル >Pygameを使用して画像を中心を中心に回転させるにはどうすればよいですか?

Pygameを使用して画像を中心を中心に回転させるにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-13 18:50:16627ブラウズ

How to Rotate an Image Around Its Center Using Pygame?

Pygame を使用して画像を中心を中心に回転するにはどうすればよいですか?

短い答え:

Pygame を使用して画像の中心とサイズを維持しながら画像を回転するには、長方形の寸法を適切に調整します。元の画像の四角形を取得し、pygame.transform.rotate() を使用して回転された画像を作成します。元の四角形と一致する回転された画像の一部をコピーし、出力として使用します。

詳細な回答:

pygame.transform を使用して画像を回転する場合。 rotate() を実行すると、結果の画像のサイズが増加します。元のサイズを維持するには、回転した画像を元の画像と同じ場所に配置する必要があります。

例外に対処する更新されたコード ブロックは次のとおりです。

def rot_center(image, angle, x, y):
    """Rotate an image while keeping its center and size"""
    rotated_image = pygame.transform.rotate(image, angle)
    new_rect = rotated_image.get_rect(center=image.get_rect(center=(x, y)).center)

    return rotated_image, new_rect

この関数は次の値を返します。回転された画像と回転された画像の外接する四角形。

代わりに、blitRotateCenter() 関数を使用することもできます。画像を回転してブリットするには:

def blitRotateCenter(surf, image, topleft, angle):
    rotated_image = pygame.transform.rotate(image, angle)
    new_rect = rotated_image.get_rect(center=image.get_rect(topleft=topleft).center)
    surf.blit(rotated_image, new_rect)

以上がPygameを使用して画像を中心を中心に回転させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。