begin process at 2012 05 28 21:42:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

GUI

 > 

comment récupérer un tableau des pixels d'un System::Drawing::Image


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment récupérer un tableau des pixels d'un System::Drawing::Image

mercredi 16 juillet 2008 à 16:14:23 | comment récupérer un tableau des pixels d'un System::Drawing::Image

rgiud

Bonjour, Je développe un programme de traitement d'image et cherche à récupérer sous la forme d'une structure ou un buffer les pixels d'un System::Drawing::Image (la fonction GetPixel est trés lente). Merci.
mercredi 16 juillet 2008 à 21:59:00 | Re : comment récupérer un tableau des pixels d'un System::Drawing::Image

yann_lo_san

Salut,
BitmapData et LockBits.


Bitmap img(L"uneImage.bmp");
BitmapData bmpData;
Rect rc(0, 0, img.GetWidth(), img.GetHeight());

if( img.LockBits(
            &rc, 
            ImageLockModeRead | ImageLockModeWrite,
            img.
            GetPixelFormat(), 
            &bmpData) == Ok )
{
   int stride  = bmpData.Stride;                      // pour calcul d'offset
   void* scan0 = bmpData.Scan0;                 // ptr debut data img
   byte* p = (byte*)(void*)scan0;                  // ptr sur bits

   int offset = stride - img.GetWidth() * 3;      // ligne suivante
   byte rouge, vert, bleu;                                // les primitives
    
   for(UINT y=0; y<img.GetHeight(); y++)
   {
      for(UINT x=0; x<img.GetWidth(); ++x)
      {
           bleu  = p[0]; 
           vert  = p[1]; 
           rouge = p[2];
           // pixel suivant
           p += 3;
       }
       // ligne suivante
       p += offset;
     }
  }
  img.UnlockBits(&bmpData);
}



vendredi 18 juillet 2008 à 07:20:15 | Re : comment récupérer un tableau des pixels d'un System::Drawing::Image

rgiud

Merci, votre code m'a mis sur la bonne voie.


Cette discussion est classée dans : récupérer, system, image, pixels, drawing


Répondre à ce message

Sujets en rapport avec ce message

Palette couleur [ par max77max ] Bonjour,Je travaille sur un bitmap 8 bits (l'image est binaire). Lorsque je l'affiche ou l'enregistre j'obtiens une image blanche et bleue.J'aimerais Les Form [ par hpro57 ] Bonjour,Dans mon projet j'ai 2 formForm1 et Form2Je tient juste a préciser que j'utilise Visual C++ 2008 Express et que je suis débutant !Ma form1 c'e Comment récupérer une image d'une caméra émettant une vidéo [ par fedora6 ] Salut,Je travaille sur un programme trés compliqué  et je suis débutante avec le C++ , je voulais savoir comment peux-je récupér Call fonction system() sans blocker [ par chuckboy ] Bonjour,Mon problème est simple mais je ne trouve pas la solution.Je veux a partir d'un code C++ afficher une image JPG (dans le viewer par défault su Probleme avec filtre image en c [ par simomiso ] Bonjour,tout d'abords un GRAND MERCI a tous ceux ki ont participé ds la conception de ce site.En fait j'ai un proble avec un filtre image avec matrice Problème SDL : Récupérer la position d'une case d'un tableau (image) ? [ par romain60112 ] SDL : Récupérer la position d'une case d'un tableau (image) ? Bonjours a tous, Je souhaite savoir comment récupérer de façon efficace les coordonnées Récupérer une image dans un tableau via VideoOcx [ par Tic62 ] Bonjour a tous, J'ai un petit problème, j'arrive à récupérer une image avec VideoOCX (ActiveX) mais j'ai besoin de trouver l'endroit où il stocke l'i Je sèche : types et pointeurs [ par benlustr ] Bonjour à tous, je galère depuis quelques temps pour essayer de comprendre un programme que je suis en train de revoir et d'améliorer. Actuellement, imprimer le contenu d'une listBox [ par drcmomo ] Bonjour tout  le monde!!!Je cherche à imprimer des données dans une listBox avec le code ci-dessous quand je lance l'impression il m'imprime une page


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales