begin process at 2012 02 13 09:00:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Multimédia

 > 

Image & Vidéo

 > 

pb rafraichissement


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

pb rafraichissement

mercredi 2 août 2006 à 13:40:12 | pb rafraichissement

mickei

Bonjour à tous,

Voila je fais un programme qui détecte des couleurs de 6 points pour intéragir en fonction de celles ci.
Pour cela je fais une capture d'écran que je mets dans un picturebox pour ensuite récupérer la valeur RGB du pixel central et ceci pour 6 picturebox en même temps.
Or je dois faire ceci à une fréquence très rapide : 100ms, et au bout d'un moment (qlq minutes), il y a un plantage, la capture ne marche plus, ma fenêtre vb ne se rafraichie plus bref le programme plante complet.

Est ce que vous savez comment je pourrais remédier à ceci?

Merci d'avance.

Micke
mercredi 2 août 2006 à 13:47:50 | Re : pb rafraichissement

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Surveille l'occupation mémoire, il y a fort à parier que cela vienne d'une fuite mémoire !

Tu ne doit pas supprimer correctement les DC je pense !


mercredi 2 août 2006 à 15:38:55 | Re : pb rafraichissement

FreezerCorp

essaye picturebox.dispose
mercredi 2 août 2006 à 16:38:47 | Re : pb rafraichissement

mickei

effectivvement la mémoire augmente.
Qu'est ce que tu appel les DC?
je ne trouve pas picturebox.dispose
mercredi 2 août 2006 à 19:35:26 | Re : pb rafraichissement

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
En vb6, tu n'auras pas de dispose : ca ne s'applique quand .NET !

Un DC, c'est un Device Context, c'est un endroit où sont stockées les images. Si tu crée un DC et que tu le vide pas, la mémoire est vite saturée.
Passe nous le bout de code qui permet de faire la capture et qui copie l'image dans le picturebox, le problème vient sûrement de là !


mercredi 9 août 2006 à 19:44:18 | Re : pb rafraichissement

mickei

Dim retAPI      As Long

Picture3.Picture = LoadPicture
 
retAPI = BitBlt(Picture3.hDC, 0, 0, Picture3.ScaleWidth, Picture3.ScaleHeight, GetDC(0), posnour.X - Picture3.ScaleWidth * 0.5, posnour.Y - Picture3.ScaleHeight * 0.5, vbSrcCopy)

Picture3.Refresh

'fait la cible
Picture3.Line (Picture3.ScaleWidth / 2, 0)-(Picture3.ScaleWidth / 2, Picture3.ScaleHeight), vbBlack

Picture3.Line (0, Picture3.ScaleHeight / 2)-(Picture3.ScaleWidth, Picture3.ScaleHeight / 2), vbBlack
mercredi 30 août 2006 à 14:00:38 | Re : pb rafraichissement

mickei

si je ne me trompe, "Picture3.Picture = LoadPicture" doit  normalement vider la mémoire de la picturebox non ?
et c'est BitBlt qui charge la capture d'écran.

j'ai oublié de préciser dans le code :
Public Declare Function BitBlt Lib "gdi32" (ByVal hDCDest As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hdcSrc As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
mercredi 30 août 2006 à 14:25:45 | Re : pb rafraichissement

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Oups, désolé j'avais zapper ton avant-dernier message !

Donc le loadpicture doit (en théorie) vider le picturebox, MAIS il n'est pas censé le faire. Donc rien ne veut un bon :
Set Picture3.Image = Nothing
Set Picture3.Picture = Nothing

pour être sûr.

Enlève aussi l'autoredraw (ca peut venir de là !!!) s'il est activé. Je sais qu'il est très gourmand en mémoire, et provoque en plus une fuite mémoire si on charge de nombreuses images à intervale régulier !

mercredi 30 août 2006 à 14:30:55 | Re : pb rafraichissement

Renfield

Administrateur CodeS-SourceS
qu'il est beau, ce   "GetDC(0)"

faut le contrebalancer avec un ReleaseDC

Renfield
Admin CodeS-SourceS- MVP Visual Basic
mercredi 30 août 2006 à 15:24:24 | Re : pb rafraichissement

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS

Oui aussi, c'est vrai


1 2

Cette discussion est classée dans : pb, programme, picturebox, capture, rafraichissement


Répondre à ce message

Sujets en rapport avec ce message

pb avec picturebox [ par Fred ] voila je cherche a ecrire un texte a l'interieur d'un objet picturebox...J'ai trouve les methode qui permettent de formatter le texte mais le probleme pb de recup de l'image d'une picturebox cree avc setpixel ! [ par lumesh ] Salut,g un ptit pb:voila, j'ai cree une image ,avec la fonction setpixel, ds une picturebox et je voudrais la recuperer pour la mettre ds une imagebox Pb de rafraichissement avec les datareport [ par lorelei ] j'ai créer plusieur datareport liès à des command de Data Environment. Mais quand je les prévisualise avec la méthode show, ils ne sont pas rafraichit URGENT - Pb de PictureBox [ par pj_federation ] Help, HelpVoilà, j'ai une PictureBox, dont on choisit l'image à l'aide d'une boîte de dialogue Ouvrir, et je voudrais que cette PictureBox se redimens Pb d'exe! [ par ElfeNoir ] Bonjour!Je rencontre un tout p'tit problème avec un programe paramétré (récupérés par 'Command()').Quand j 'exécute le programme par les sources tout PB avec les bases Access 97 et 2000 [ par dragonso ] Bonjour !voila, je fais un programme sur des bases access, mélangant 97 et 2000. Dans un "boucle" 97, j'accède à 2000.Ca va, ca marche.Par contre, la PB avec les bases Access 97 et 2000 [ par dragonso ] Bonjour !voila, je fais un programme sur des bases access, mélangant 97 et 2000. Dans une "boucle" 97, j'accède à 2000.Ca va, ca marche.Par contre, la pb de compil!!! [ par casav ] Je viens de realiser un programme assez consequent or lorque je veux creer le .exe il demarre bien la compil maisensuite il bloqie et par 1 ctrl-alt-s Capture de feuille et enregistrement [ par asterik ] @sterikJe capture ma feuille avec l'api keybevent avec:Call keybd_event(vbKeySnapshot, 1, 0, 0)je souhaite ensuite récupérer ce que j'ai copié dans un Capturer des imagebox [ par Nestor ] salutje voudrais faire en sorte de pouvoir capturer le contenu de 3 imagebox situé dans un picturebox.ces 3 images capturé, je voudrais les métre dans


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

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

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