Accueil > Forum > > > > Probleme avec getpixel
Probleme avec getpixel
samedi 12 juin 2004 à 12:09:35 |
Probleme avec getpixel

SnOOpss
|
Bonjour tout le monde !! Voila g voulu modifier une fonction !! void test (HBITMAP hBmp) { if (!hBmp) return 0; ........ DC hdcc = NULL; hdcc = CreateCompatibleDC(NULL); SelectObject(hdcc, hBmp); ......... for (int y = 0; y < bm.bmHeight; y++) { for (int x = 0; x < bm.bmWidth; x++) { int x0 = x; while (x < bm.bmWidth) { char chaine[5]; itoa(GetPixel(hdcc,x, y),chaine,10); MessageBox (NULL, chaine, "ee", MB_OK); if(GetPixel(hdcc,x, y) == RGB(0,0,0) ) x++; ............ et la fonction getpixel me retourne toujour -1 ??? G vu que ca voulait dire ke je me trouvais hors des limites mais je ne voit pas trop ou j'ai fait l'erreur !!
|
|
samedi 12 juin 2004 à 17:20:13 |
Re : Probleme avec getpixel

SnOOpss
|
G trouvé l'erreur mais pas la solution !! En fait Le HDC se fait mal !! HDC hdcc = NULL; hdcc = CreateCompatibleDC(NULL); if (hdcc == NULL) { MessageBox (NULL, "erreur0","ee", MB_OK); } if (SelectObject(hdcc, hBmp) == NULL) { MessageBox (NULL, "erreur1","ee", MB_OK); } En faisant ca j'ai la boite de dialogue erreur1 !!
|
|
dimanche 13 juin 2004 à 21:12:40 |
Re : Probleme avec getpixel

SnOOpss
|
J'ai essayé avec une autre methode
BITMAP bm; GetObject(hBmp, sizeof(bm), &bm); // met les infos d'en tete du bitmap dans bm
BITMAPINFO bi; bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bi.bmiHeader.biWidth = bm.bmWidth; bi.bmiHeader.biHeight = bm.bmHeight; bi.bmiHeader.biPlanes = bm.bmPlanes; bi.bmiHeader.biBitCount = 24; bi.bmiHeader.biCompression = BI_RGB;
DWORD dwWidthBytes = 4*((3*bm.bmWidth+3)/4); DWORD dwImageSize = dwWidthBytes*bm.bmHeight; LPBYTE lpBits = new BYTE[dwImageSize];
HDC hdc = GetDC(NULL); int testt = GetDIBits(hdc, hBmp, 0, bm.bmHeight, &lpBits, &bi, DIB_RGB_COLORS);
Et j'ai un autre probleme avec la fonction GetDIBits : parametre incorect !!
Help !!!
|
|
lundi 14 juin 2004 à 21:15:23 |
Re : Probleme avec getpixel

ymca2003
|
pour la création du DC compatible, utilise celui de l'écran : HDC hScreenDC = GetDC(NULL); HDC hdc = CreateCompatibleDC(hScreenDC); ..
le reste comme ta première solutions
solution avec getDiBbits : donner directement lpBits et pas l'adresse de cette variable : GetDIBits(hdc, hBmp, 0, bm.bmHeight, lpBits, &bi, DIB_RGB_COLORS);
récupérer les pixels en 32 bits/pixel simplifi l'accès :
// tout d'abord on récupère des informations sur la taille du bitmap BITMAP bmpInfo; GetObject(hBitmap, sizeof(BITMAP), &bmpInfo);
// allocation mémoire. On va récupérer le bitmap en 32 bits/pixel pour simplifier // comme cela, on sera sur que chaque ligne du bitmap sera codé sur un nombre // d'octets multiple de 4. Si le bitmap n'est pas bottom-up (cas le plus fréquent) // mais top-down, bmpInfo.bmHeight est négatif. LPBYTE lpBits = new BYTE[4*bmpInfo.bmWidth*bmpInfo.bmHeight];
// initialisation structure BITMAPINFO BITMAPINFO bi; memset(&bi, 0, sizeof(BITMAPINFO)); bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bi.bmiHeader.biWidth = bmpInfo.bmWidth; bi.bmiHeader.biHeight = bmpInfo.bmHeight; bi.bmiHeader.biBitCount= 32; bi.bmiHeader.biPlanes = 1; bi.bmiHeader.biCompression= BI_RGB;
// récupération pixels HDC hdc = GetDC(NULL); GetDIBits(hdc, hBitmap, 0, bmpInfo.bmHeight, lpBits, &bi, DIB_RGB_COLORS); ReleaseDC(NULL, hdc);
|
|
mercredi 16 juin 2004 à 11:29:00 |
Re : Probleme avec getpixel

SnOOpss
|
Nickel merci beaucoup !!! Pour la partie avec getpixel ca deconne toujours, si quelqu'un trouve pourquoi ca m'interesse toujours par curiosité mais comme la seconde methode marche et quelle est 10 fois plus rapide en ce qui me concerne mon probleme est resolu !!! Et merci aussi pour les modif de code !!!
|
|
Cette discussion est classée dans : int, getpixel, bm, hbmp, hdcc
Répondre à ce message
Sujets en rapport avec ce message
pb noir et blanc [ par c2millet ]
Voila mon probleme j'insere une bitmap sur ma page d'impression mais le pb c que cette derniere et imprimer en noir et blanc et deplus elle est à l'en
N'affiche rien [ par c2millet ]
C encore moi avec mon pb de BITMAP. Mon code compile mais n'affiche pas ma bitmap si qqun peut m'aiderMerci.------------------------------------------
Getpixel et Setpixel trop lents! :( [ par Omeya ]
Bonsoir à tous,Depuis quelques temps, j'essaye de réaliser un capteur d'écran en temps réel et les seuls instructions que je sais vraiment utiliser so
Gérer miex la memmoire pour le calcul matriciel [ par Stiko ]
salut,j'utilise une classe faite en C++ pour les calculs matriciels de grand taille la classe est le suivant:c'est le fichier .h[quote]/* Matrix.h*/#i
Gérer mieux la memoire [ par Stiko ]
salut,j'utilise une classe faite en C++ pour les calculs matriciels de grand taille la classe est le suivant:c'est le fichier .h[code]/* Matrix.h*/#if
progress bar & convertage CString to int [ par unionx ]
salut je veux savoir si c'est possible MAX et MIN de progress bar dans visualstudio MFC project exemple: la langeur de la bar de progress en vb c'est:
Struct [ par wxccxw ]
salut, je fait un jeu, et j'utilise pour le server une struct qui contiendra quelque info sur le joueur.j'ai deux fonction :PlayerActivate() // pour
probleme dans une ecriture de fichier [ par hisoka56 ]
bon salut a tous, j'ai un petit probleme d'ecriture dans un fichier dans uen fonction qui permet de sauvegarder un niveau voila le fichier de niveaux
Allocation tableau dynamique ds structure [ par chental ]
Salut à tous,Sauriez vous me dire comment allouer dynamiquement un tableau dans une structure ?J'arrive à faire l'essentiel mais dans la structure je
Sdl [ par M5i9k ]
Bonsoir,je voudrais utiliser la librairie sdl pour tester un peu mais j'obtient l'erreur de link suivante : error LNK2019: symbole externe non résolu
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|