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

C# Discussion :

Récupérer un pixel dans une pictureBox!


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Par défaut Récupérer un pixel dans une pictureBox!
    Bonjour,

    Voilà je veux récupérer la couleur d'un pixel (par ailleurs je voudrait également écrire la couleur d'un pixel).
    J'ai déjà vu beaucoup de forum la dessus qui l'explique très bien mais petite subtilité pour moi je ne créer pas de Bitmap et tous ses forum sont basé sur le fait que la plupart du temps, quand on fait une pictureBox c'est pour y charger une image. Si quelqu’un à une idée?

    Cordialement,

    V.LG

  2. #2
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Par défaut
    je me lance sans pleine certitude...
    Je suppose qu'il faut convertir ta picturebox en bitmap (en la chargeant par exemple) soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Bitmap MyBitmap = new Bitmap(MyPicturebox.Image);
    Color MyColorToFind;
    Int32 iPosX=0;    // Tu défini la position X et Y du pixel
    Int32 iPosY=0;
    MyColorToFind = MyBitmap.GetPixel(iPosX, iPosY);
    ça doit être quelque chose dans ce genre là...

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Par défaut
    C'était une bonne idée jpbelmondo59 mais la transformation ne marche pas.
    Ça renvoie "La référence d'objet n'est pas définie à une instance d'un objet"

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Par défaut
    Non en fait la transformation passe mais c'est le :

    - MyColorToFind = MyBitmap.GetPixel(20, 20);

    qui ne passe pas.

  5. #5
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 58
    Par défaut
    Curieux, tu peux m'afficher le code stp... car si c'est dans la même méthode ou via une fonction, ça devrait pas poser de souci

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Par défaut
    ça compile bien mais pendant l’exécution il me met nullreferenceexeption


    CODE:

    private void button3_Click(object sender, EventArgs e)
    {
    Bitmap MyBitmap = (Bitmap)pictureBox1.Image;
    Color MyColorToFind;
    Int32 iPosX = 10; // Tu défini la position X et Y du pixel
    Int32 iPosY = 10;
    MyColorToFind = MyBitmap.GetPixel(iPosX, iPosY);
    if (MyColorToFind == System.Drawing.Color.Teal)
    {
    MessageBox.Show("Yes", "My Application", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
    }
    }

  7. #7
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    "Qui ne passe pas"...

    Ca ne veut rien dire en terme de développement.

    Ca génère une erreur ? une exception ? aucun résultat ?

    Déjà, il faut tester ton objet pour être sur qu'il ne soit pas nul quand même...

    Et normalement, le code proposé est plutôt correcte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Bitmap bmp = pictureBox1.Image as Bitmap;
                if (bmp != null)
                {
                    Color c = bmp.GetPixel(20, 20);
                }
    après, faut tester par rapport à la taille de l'image que le X et le Y sont à l'intérieur de l'image

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 02/03/2011, 10h33
  2. Récupérer les coordonnées d'un pixel dans une image
    Par amine52002 dans le forum Langage
    Réponses: 1
    Dernier message: 30/06/2008, 14h52
  3. [Débutant] Récupérer les coordonnées d'un ensemble de pixels dans une matrice
    Par reda24 dans le forum Images
    Réponses: 5
    Dernier message: 01/06/2007, 18h06
  4. Rendre le fond transparent dans une picturebox
    Par fun31 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/01/2005, 18h17
  5. VB6] imprimer le texte afficher dans une picturebox
    Par Persons dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/08/2004, 11h15

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