begin process at 2012 05 30 03:01:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Lire le buffer de pixels a partir d'un HBITMAP


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

Lire le buffer de pixels a partir d'un HBITMAP

vendredi 1 avril 2005 à 19:18:37 | Lire le buffer de pixels a partir d'un HBITMAP

Kazuya

Bonjour,
j'ai un probleme pour passer un Bitmap en 32bpp,
je charge le fichier en memoire (HBITMAP) et ensuite je tente de le modifier, mais le probleme est que je ne sais pas comment lire le buffer de pixels qui lui est associé, voila le code que j'ai fait, il se compile mais ça donne un truc tres moche (pas du tout le résultat desiré)

HBITMAP Create32bppBitmap(HBITMAP hbmp)
{
 HDC hdc;
 HBITMAP hpic;
 BITMAPINFO bmi,tbm;
 ULONG bHeight,bWidth,x,y;
 VOID *pvBits;
 
 hdc = CreateCompatibleDC(dcPicture);
 GetObject(hbmp,sizeof(BITMAPINFO),&tbm);

 ZeroMemory(&bmi,sizeof(BITMAPINFO));
    bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
    bmi.bmiHeader.biWidth = bWidth = tbm.bmiHeader.biWidth;
    bmi.bmiHeader.biHeight = bHeight = tbm.bmiHeader.biHeight;
    bmi.bmiHeader.biPlanes = 1;
    bmi.bmiHeader.biBitCount = 32;
    bmi.bmiHeader.biCompression = BI_RGB;
    bmi.bmiHeader.biSizeImage = bWidth * bHeight * 4;

 hpic = CreateDIBSection(hdc, &bmi, DIB_RGB_COLORS, &pvBits, NULL, 0);
 for (y = 0; y < bHeight; y++)
 {
        for (x = 0; x < bWidth; x++)
  {
   ((UINT32 *)pvBits)[x + y * bWidth] = MAKELONG(MAKEWORD(255,bmi.bmiColors[x + y * bWidth].rgbRed),MAKEWORD(bmi.bmiColors[x + y * bWidth].rgbGreen,bmi.bmiColors[x + y * bWidth].rgbBlue));
  }
 }
 return hpic;
 //http://www.nomorepasting.com/paste.php?pasteID=36273
}


Merci

K@zuya

vendredi 1 avril 2005 à 20:12:03 | Re : Lire le buffer de pixels a partir d'un HBITMAP

AlexMAN

Membre Club
Réponse acceptée !
http://www.cppfrance.com/code.aspx?id=23921

J'etais en train de regarder cette source ;)

+2(p - n)


Cette discussion est classée dans : bmiheader, hdc, hbitmap, bmi, bwidth


Répondre à ce message

Sujets en rapport avec ce message

Parser un DC/DIB [ par Manson ] Salut a tous,voila je voudrais recuperer une capture d'ecran (ca j'ai reussi).Ensuite je voudrais l'afficher sur le fond de ma fenetre, mais pas d'un Une sorte de capture d'image... [ par tsc ] Bonjour,Voilà j'ai un petit problème avec une source qui permet de capturer l'image de sawebcam. source = http://www.cppfrance.com/code.aspx?ID=24541M Prob mem sur CreateDIBSection [ par ganjo ] Salutjessaye douvrir des images grace a OLE, se qui me permet d'ouvrir avec un meme code les images reconnu par windowsmon code est celui-ci :memset( Besoin de precision sur l'utilisation de la fonction pour redimensionner une image Bitmap [ par noetom ] Bonjour, j'ai besoin de redimmensionner une image Bmp et j'ai trouvé les sources pour le faire sur le site ici : http://www.cppfrance.com/code.aspx?i Pixel vide [ par sabran ] Salut, Je veux lire la valeur RGB d'un pixel avec GetDIBits. J'ai pris un code que j'ai vu plusieurs fois sur le forum. Tout marche sauf quand je veux Probleme avec une fonction de rotation [ par SnOOpss ] voila ma fonction HBITMAP rotate90(HBITMAP hbmp) { BITMAP bm; GetObject((HBITMAP)hbmp, sizeof(bm), &bm); BITMAPINFO bi,biNew; biNew.bmiHeader.biSiz [api]Plusieurs images dans un dcMem, ou plusieurs dcMem [ par hoGan ] Bonjour à tous,j'aimerais pouvoir afficher plusieurs images l'une à la suite de l'autre en cliquant plusieurs fois sur un bouton. Voici la façon dont redimensionnement image et qualité [ par mogwai93 ] Bonjour j'utilise la fonction ci-dessous  (copiee sur ce forum) pour redimensionner des bitmaps sauf que dans le cas de la reduction, l'image est de freeimage [ par valerymb ] salut à tous. J'ai un petit problème à vous soumettre.voilà. J'ai une image non sauvegardée sur le disque que j'affiche en utilisant les mfc (hdc, hbi Rôle de CreateCompatibleBitmap(...) [ par julien_boss ] Bonjour, mon code est le suivant : # // création DC et bitmap en mémoire # HDC hMemDC = CreateCompatibleDC(hdc); # HBITMAP hMemBmp = CreateCompatibl


Nos sponsors


Sondage...

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 : 9,532 sec (3)

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