Programme python

Fermé
CDN31240 - 25 nov. 2015 à 21:53
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 - 26 nov. 2015 à 20:59
Bonjour,

J'ai un gros soucis avec ce programme : il ne marche en effet que pour des réductions et non des agrandissements (quadrillages affreux...)
Pouvez vous m'aider SVP ?? Je galère beaucoup !!!!
Merci d'avance ;)
def AGRE():
    Mafenetre.destroy()
    from PIL import Image
    img=Image.open(fichier)
    zoom=int(input("Entrez un pourcentage d'agrandissement ou de rétrécissement (nombre négatif pour rétrécir)"))  # Boucle fonctionnant uniquement avec des zooms négatifs avec des valeurs entières (ex: "-10", "-25", "-50", ...)
    img.show()
    largeur,longueur=img.size
    largeur_out=int(img.size[0]*((zoom+100)/100))
    longueur_out=int(img.size[1]*((zoom+100)/100))
    img_out=Image.new("RGB",(largeur_out,longueur_out))

    for x in range(largeur):
        for y in range(longueur):
            (r,v,b)=img.getpixel((x,y))
            img_out.putpixel((int(x*((zoom+100)/100)),int(y*((zoom+100)/100))),(r,v,b))
    
    mg_out.show()
    print("l'image a été retaillée de ",zoom,"%")
AGRE()


2 réponses

Un peu d'aide svp je suis vraiment embêté car je dois rendre le programme demain :-/
0
dsy73 Messages postés 9252 Date d'inscription dimanche 22 août 2010 Statut Contributeur Dernière intervention 23 octobre 2020 2 476
26 nov. 2015 à 20:59
Salut
regarde la méthode Image.transform() du module PIL
Sinon recherche un algo avec les mot-clefs : image scale
0