Comment rogner une image avec Pygame?
Je suis en train d'apprendre pygame
et que vous voulez une image pour un bouton avec les trois états: normal, survolé, et pressé. J'ai une image comme celle-ci ...
... et je veux obtenir une nouvelle Surface
l'utilisation d'une partie de elle.
Je suis le chargement de l'image avec ce code:
buttonStates = pygame.image.load(os.path.join('image','button.png'))
Comment puis-je faire une nouvelle surface à l'aide de seulement une partie de ce graphique?
source d'informationauteur dobleseis
Vous devez vous connecter pour publier un commentaire.
Le blit méthode sur une surface "colle" un autre de la surface. Le premier argument blit est la source de la surface. La deuxième est l'endroit où coller (dans ce cas, le coin en haut à gauche). Le troisième argument (optionnel) est la zone de l'image source pour coller -- dans ce cas, un carré 80x80 30px à partir du haut et 30px à partir de la gauche.
Vous pouvez également utiliser le
pygame.Surface.subsurface
méthode pour créer des sub-surfaces qui partagent leurs pixels avec un de leurs parents surface. Cependant, vous devez vous assurer que le rect est à l'intérieur de la zone de l'image ou unValueError: subsurface rectangle outside surface area
sera soulevée.Je pense que la meilleure façon de le faire est de recadrer l'image de ces 3 types de boutons dans un programme externe et de la charge de surface différentes au lieu d'utiliser pygame pour recadrer