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

Programmation multimédia/Jeux Python Discussion :

Couleur d'un pixel


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut Couleur d'un pixel
    Bonjour,

    Avec wxPython, j'utilisais le code suivant pour récupérer la couleur d'un pixel dans une image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    hexagonfile = os.path.join('images/terrains', 'hexagon.gif')
    hexagonimg = wx.Image(hexagonfile, wx.BITMAP_TYPE_ANY)
    red = hexagonimg.GetRed(mouse_map_x, mouse_map_y)
    green = hexagonimg.GetGreen(mouse_map_x, mouse_map_y)
    blue = hexagonimg.GetBlue(mouse_map_x, mouse_map_y)
    pixel_color = (red, green, blue)
    1) Savez-vous s'il est possible de le faire avec Pygame ? Je n'ai pas l'impression que ce soit possible car la méthode get_at((x, y)) existe pour un objet Surface et non pour un objet Image. Cela nécessiterait donc d'afficher l'image sur une surface ce qui ne me convient pas.

    2) Si ce n'est pas le cas, comment peut-on le faire en Python ?

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    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 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Lorsque tu charges une image avec pygame (format gif ou bmp) tu en ressors une surface.

    pygame.image.load
    load new image from a file
    pygame.image.load(filename): return Surface
    pygame.image.load(fileobj, namehint=""): return Surface
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    Bon pour ceux que ça intéresserait on peut le faire avec la méthode Image.getpixel() de la Python Imaging Library (PIL).

    [Edit] Je n'avais pas vu la réponse de Fred1599. Je vais essayer avec Pygame.

    [Edit2] Ca marche très bien avec Pygame. Merci Fred1599 !

Discussions similaires

  1. [VB.NET]Comment recupérer la couleur d'un pixel de l'Ecran ?
    Par cyrcroix dans le forum Windows Forms
    Réponses: 24
    Dernier message: 07/11/2007, 10h35
  2. Réponses: 1
    Dernier message: 26/03/2005, 12h31
  3. [TBitmap] Recuperer la couleur d un pixel
    Par DamessS dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/12/2004, 08h47
  4. [VB6] Comment récupérer la couleur d'un pixel de l'écran?
    Par Taurëndil dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 26/03/2004, 08h02
  5. Obtenir la couleur d'un pixel
    Par GLDavid dans le forum OpenGL
    Réponses: 2
    Dernier message: 09/03/2004, 18h21

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