IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

conversion au format png


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 431
    Points : 0
    Points
    0
    Par défaut conversion au format png
    Bonjour comment convertir une image jpg en png
    en python
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 483
    Points : 9 282
    Points
    9 282
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Probablement avec Pil (http://www.pythonware.com/products/pil/). Pour Python 3.x, il y a des versions non officielles (http://www.lfd.uci.edu/~gohlke/pythonlibs/).

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 431
    Points : 0
    Points
    0
    Par défaut conversion au format png
    Oui merci je sais que c'est PIL mais j'ai essaye ce code devlopper sur un tuto
    from PIL import Image
    im = Image.open('foto.jpg')
    im.save('foto.png')
    print im

    il me sort cette erreur
    raise IOError, "cannot write mode %s as PNG" % mode
    IOError: cannot write mode CMYK as PNG

  4. #4
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 483
    Points : 9 282
    Points
    9 282
    Billets dans le blog
    6
    Par défaut
    Je n'ai jamais utilisé Pil, mais je crois qu'il faut préciser le format de l'image dans le ".save":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    im.save('foto.png', 'PNG')

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 302
    Points : 6 782
    Points
    6 782
    Par défaut
    Salut,

    en fait les deux méthodes sont bonnes mais ton installation de PIL ne comporte pas obligatoirement le plugin png.

    Ce doit être expliqué quelque part là:
    http://www.pythonware.com/library/pil/handbook/
    mais pour le moment je n'obtiens que des erreurs 502 ...

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 431
    Points : 0
    Points
    0
    Par défaut conversion au format png
    rien y fait toujours la meme erreur j'ai regarde sur un autre forum la syntaxe a l'air
    d'etre bonne

    Merci d'avance

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 483
    Points : 9 282
    Points
    9 282
    Billets dans le blog
    6
    Par défaut
    Je viens d'essayer (Linux Mint14, Python 2.7), et ça marche très bien! C'est même très rapide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    from PIL import Image
     
    # conversion png => jpg
    im = Image.open('image.png')
    im.save('image.jpg', 'JPEG')
     
    # conversion jpg => png
    im = Image.open('image.jpg')
    im.save('image2.png', 'PNG')
    La syntaxe étant bonne, il ne reste qu'à voir ton installation de Pil, et le format de ton image.

  8. #8
    Membre expérimenté Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Points : 1 481
    Points
    1 481
    Par défaut
    Bonjour

    la réponse est dans le message d'erreur de ton post#3 :

    raise IOError, "cannot write mode %s as PNG" % mode
    IOError: cannot write mode CMYK as PNG
    Le mode CMYK n'est pas supporté par le format PNG.

  9. #9
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 933
    Points : 7 343
    Points
    7 343
    Par défaut
    Le mode CMYK n'est pas supporté par le format PNG.
    Ce qui est normal,

    Le PNG étant spécialisé dans l'impression sur écran
    Le TIFF étant spécialisé dans l'impression sur imprimante

    On en déduit que,

    Le PNG peut utiliser en lecture et écriture le mode RGB
    Le TIFF peut utiliser en lecture et écriture le mode CMYK

    Bonne continuation...

    P.S Il y a d'autres modes, mais on sortirait du sujet.

  10. #10
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Tant qu’à expliquer le problème, on peut aussi proposer une solution…

    D’après la doc, une bête ligne supplémentaire devrait faire l’affaire*:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    from PIL import Image
     
    # conversion jpg => png
    im = Image.open('image.jpg')
    if im.mode in ('CMJK',):
        im.convert('RGB')
    im.save('image2.png', 'PNG')

  11. #11
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Presque :
    im.convert(mode) => image

    Returns a converted copy of an image.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if im.mode == 'CMYK':
        im = im.convert('RGB')
    im.save('image2.png', 'PNG')
    @+

  12. #12
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Ooops*!

Discussions similaires

  1. Conversion seconde format y+m+d+h+m+s
    Par Mysti¢ dans le forum Général Python
    Réponses: 13
    Dernier message: 22/07/2016, 19h01
  2. Image format png
    Par JlouisI dans le forum Delphi
    Réponses: 8
    Dernier message: 28/06/2006, 19h12
  3. Conversion de format de date
    Par decour dans le forum Access
    Réponses: 2
    Dernier message: 03/10/2005, 10h39
  4. Utilisation d'images au format png
    Par chtiot dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2003, 15h56
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo