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

Windows Forms Discussion :

affichage de l'image d'une matrice


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Par défaut affichage de l'image d'une matrice
    bonjour,

    comment à partir d'une matrice (256*256) afficher une image de cette matrice sachant que :

    - les elements de la matrice sont des entier qui varient de 0 à 255.
    - pour chaque valeur de la matrice correspond dans l'image de celle ci une nuance de gris, 0 pour le blanc, 1 pour le noir,...les autre valeurs pour des nuances de gris.

    merci...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 85
    Par défaut
    Ben a vrai dire, un point on peut dire c'est un rectangle de 1x1 ( je ne sait pas si on peut dessiner des points, snas doute que si mais je suis pas assez documenté )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Pour chaque $ligne $I dans la $matrice
    {
       pour chaque $valeur ( dont l'indice de la collone sera noté $J ) dans cette $ligne
       {
           dessine à la coordonné ($I ;$J) un point de couleur $valeur 
           $J:=$J+1
        }
        $I:=$I+1
    }
    Enfin c'est du vite fait, ça te créera une image de taille 256x256, à toi d'ajouter des coefficient multiplicateur sur la taille du rectangle pour avoir la t aille que tu souhaites.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Tu peux utiliser une PictureBox pour l'affichage. et en te servant d'une Bitmap et de sa fonction SetPixel, tu dois pouvoir arriver à tes fins

    Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
          Bitmap bmp = new Bitmap( 256, 256 );
          for( int i = 0; i < 256; i++ ) {
            for( int j = 0; j < 256; j++ ) {
              bmp.SetPixel( i, j, Color.FromArgb( 255, matrix[i,j], matrix[i,j], matrix[i,j] ) );
            }
          }
          pictureBox.Image = bmp;
    ou pictureBox est ton contrôle PictureBox
    et matrix ta matrice

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    C'est aussi ce que j'aurais fait...
    Juste une petite explication sur Color.FromArgb :
    Les 4 paramètres correspondent aux composantes de la couleur : alpha (opacité), rouge, vert, et bleu
    255, pour la composante alpha, signifie "complètement opaque". Pour les niveaux de gris, les composantes rouges, vertes et bleues sont égales.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Par défaut
    MERCI......

    Donc si j'ai bien compris cette image bmp affiche pour chaque valeur de la matrice un pixel de la couleur (en niveaux de gris) correspondante. Normalement c'est bon mais... il y a un mais...quand j'affiche, l'image est toute noir.....toujours noir pour n'importe quelle matrice...... .
    je comprend pas pourquoi....

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par nounadevelop Voir le message
    quand j'affiche, l'image est toute noir.....toujours noir pour n'importe quelle matrice...... .
    je comprend pas pourquoi....
    Fais voir ton code, tu as dû te planter quelque part...

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

Discussions similaires

  1. [Langage/Algorithme] Remplir les pixels d'une image dans une matrice
    Par idkwru dans le forum C++Builder
    Réponses: 1
    Dernier message: 30/06/2010, 18h07
  2. [Débutant] Mettre une image dans une matrice plus grande
    Par Artinuin dans le forum Images
    Réponses: 5
    Dernier message: 07/05/2010, 11h31
  3. Réponses: 6
    Dernier message: 17/04/2009, 16h48
  4. affichage de plusieurs images dans une même figure
    Par kawther dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 20/02/2009, 18h45
  5. affichage d'un histogramme d'une matrice aleatoire
    Par boinamib dans le forum Traitement d'images
    Réponses: 8
    Dernier message: 16/05/2007, 16h12

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