Rotation d'image sur tkinter
Yolnit
Messages postés
4
Statut
Membre
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche à coder un jeu où 3 cercles concentriques rentrent en rotation ou les rotations dépendent des cliques. Je suis face au problème où avec Pillow et des angles non multiples de 90°, mes images se déforment. Je ne vois pas comment contrer ce problème graphique..
Quelqu'un peut m'aider à trouver un moyen pratique d'avoir des rotations avec des angles très petits sans déformations?
Cordialement.
Je cherche à coder un jeu où 3 cercles concentriques rentrent en rotation ou les rotations dépendent des cliques. Je suis face au problème où avec Pillow et des angles non multiples de 90°, mes images se déforment. Je ne vois pas comment contrer ce problème graphique..
Quelqu'un peut m'aider à trouver un moyen pratique d'avoir des rotations avec des angles très petits sans déformations?
Cordialement.
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
peux-tu partager ton code, en tenant compte de: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code -
Voici le code en espérant avoir correctement respecté les normes du site. J'ai laissé l'angle de rotate à 90 mais vous pouvez essayer d'autres sans soucis, à vos risques et périls pour la qualité..
Ci-joint l'image
import tkinter as tk from PIL import Image, ImageTk import time root = tk.Tk () canvas = tk.Canvas (root, width = img.size[0], height = img.size[1], bg = "white") canvas.pack () def rotate (degré): global img img = img.rotate (degré) global tkimg tkimg = ImageTk.PhotoImage (img) canvas.create_image (img.size[0]/2,img.size[1]/2, image = tkimg, tags = "img") img = Image.open ("target1.png") rotate(0) def pressed (event): rotate (90) canvas.tag_bind ("img", "<B1-Motion>", pressed) root.mainloop () -
L'unique erreur est ligne 22,
cnv.tag_bind ("img", "<B1-Motion>", pressed) est la correction de cette ligne.
SI vous avez une erreur c'est que le format de l'image enregistré ne correspond pas à celui dans open.Image ligne 16.