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 :

Ajouter des infos cachées dans une image


Sujet :

Python

  1. #1
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 751
    Points
    1 751
    Par défaut Ajouter des infos cachées dans une image
    Bpnjour,
    je dois produire des images mathématiques (ce n'est pas là que se situe mon problème) qui correspondent à des commandes écrites à l'aide de caractères ASCII.

    J'aurais voulu savoir s'il était possible d'ajouter ces commandes à la fin du fichier image une fois celui-ci créé. Ceci me permettrait alors de savoir qu'une image vient de mon programme et de connaître en plus les commandes qui l'ont fabriqué.

    Toute info. est la bienvenue.

  2. #2
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Quel est le format des images que tu géneres?

  3. #3
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 484
    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 484
    Points : 9 286
    Points
    9 286
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Regarde comment sont stockées les informations "exif" dans les images jpeg. Cela peut peut-être te donner des idées.

    Tyrtamos

  4. #4
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 751
    Points
    1 751
    Par défaut
    Citation Envoyé par pacificator Voir le message
    Quel est le format des images que tu géneres?
    Ce sera du PNG.

  5. #5
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Le format PNG permet d'insérer des metadonnées (chunk), j'ai trouvé ce module, il devrait repondre à ton besoin:
    Ecriture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> from PNG import Png, tEXt
    >>> f  = open('image.png', 'rb')
    >>> png = Png.open(f)
    >>> f.close()
    >>> c = tEXt('methode', 'a**3+b**2-4ac')
    >>> png.chunks.insert(1, c)
    >>> f = file('image.png', 'wb')
    >>> png.write(f)
    >>> f.close()
    Lecture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> f = file('image.png', 'rb')
    >>> png = Png.open(f)
    >>> f.close()
    >>> for chunk in png.chunks:
    ...     if isinstance(chunk, tEXt) and chunk.keyword == 'methode':
    ...         print chunk.content
    Resultat

  6. #6
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 751
    Points
    1 751
    Par défaut
    Merci pour cette solution. Je la testerais dès que possible. A première vue c'est encore mieux que ce que j'espérais.

  7. #7
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 751
    Points
    1 751
    Par défaut
    On peut mettre des sauts de ligne donc je n'ai rien à redire. Merci pour ce TRES bon tuyau.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter des sous titres dans une combo box
    Par Djaiffe dans le forum VB.NET
    Réponses: 5
    Dernier message: 24/05/2018, 17h55
  2. Réponses: 3
    Dernier message: 25/11/2008, 16h27
  3. Passer des paramètres cachés dans une URL?
    Par PeteZah dans le forum C#
    Réponses: 2
    Dernier message: 09/09/2008, 15h41
  4. Ajouter des nouvelles données dans une table
    Par Lingo dans le forum Access
    Réponses: 7
    Dernier message: 27/10/2006, 14h58
  5. [MySQL] Comparer des info date dans une requete SQL
    Par kaygee dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 06/01/2006, 22h56

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