Ram avec utilisation de getpixel sur une fenetre opengl
adess00
Messages postés261Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention27 septembre 2008
-
15 nov. 2007 à 16:40
cs_mabrouklepoux
Messages postés84Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention25 juillet 2008
-
11 déc. 2007 à 13:36
yop yop
Je fais du getpixel et getDC sur une fenetre openGL et le prog se met a tout faire ramer en fonction du temps. Donc au bout d'un moment, tout plante.
Il y a ptet un buffer a vidé ou autre
J'utilise le getpixel dans un timer de 200ms
Voila si vous avez une idée du probleme n'hesitez pas :)
A voir également:
Ram avec utilisation de getpixel sur une fenetre opengl
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 15 nov. 2007 à 18:45
Salut,
La neige tombe.
C'est la saison des GetPixel.
Les HDC récupérés avec GetDC doivent être libérés avec ReleaseDC, à part si la fenêtre à été crée avec un style CS_OWNDC.
Si tu fais un Release, montre éventuellement des bouts de ton code ici
(Après t'être assurer que le problème vient bien de ton GetPixel et pas
d'une allocation mémoire pour dans le traitement de la couleur du
pixel).
Je n'ai jamais essayé OpenGL, mais je suppose que tu dessines sur un
buffer que tu "présentes" ensuite à l'écran. Peut être peut tu
récupérer la couleur sur le buffer. Après c'est pas dit que ce soit top
côté performance...
<hr size="2" width="100%" />3ème année en ecole d'ingé d'info cherche stage de 4 mois à partir du 01/04/08
cs_mabrouklepoux
Messages postés84Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention25 juillet 20081 10 déc. 2007 à 23:46
hello,
j'a'i eut exactement le meme pb, je me permet de faire le coucou
plantait sans le release
ne plante plus avec
CQFD jusqu'au prochain CRTL SHIFT ECHAP
(code vb6 mais testé également en vbnet)
' Retourne la couleur du pixel de coordonnées (X,Y)
Public Function CurPixelColor(ByVal X As Long, ByVal Y As Long) As Couleur
Dim hdc As Long
Dim pixel As Couleur, RGBPx As Long
hdc = GetDC(0&) 'on prend le hdc de la form, obligatoire
Call ReleaseDC(frmGetPixel.hWnd, hdc)
' Décompose la couleur (chaque octet représente une composante de la couleur)
pixel.red = &HFF& And RGBPx
pixel.green = (&HFF00& And RGBPx) \ 256
pixel.blue = (&HFF0000 And RGBPx) \ 65536
cs_mabrouklepoux
Messages postés84Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention25 juillet 20081 11 déc. 2007 à 10:17
Hello rt15 !
effectivement, j'ai tout emmélé avec mes copier coller !!!
le fait est que chez moi c t correct, je remet dans le bon ordre pour les copiercolleur fou
(code vb6 mais testé également en vbnet)
' Retourne la couleur du pixel de coordonnées (X,Y)
Public Function CurPixelColor(ByVal X As Long, ByVal Y As Long) As Couleur
Dim hdc As Long
Dim pixel As Couleur, RGBPx As Long
' Pixel (X,Y) de l'écran (hwnd = 0)
hdc = GetDC(0&) 'on prend le hdc de la form, obligatoire
' Décompose la couleur (chaque octet représente une composante de la couleur)
pixel.red = &HFF& And RGBPx
pixel.green = (&HFF00& And RGBPx) \ 256
pixel.blue = (&HFF0000 And RGBPx) \ 65536
' Retourne le résultat
CurPixelColor = pixel
End Function
je t'envoi un mp rapport à ta demande de stage, ca pourrait m'interresser !
Vous n’avez pas trouvé la réponse que vous recherchez ?