OVH Cloud OVH Cloud

GetBitmapBits

6 réponses
Avatar
test
Bonjour,

J'utilise l'API GetBitmapBits pour avoir le handle de l'image je charge
l'image dans un picturebox.

Mon probleme vient du chargement des images dans le picturebox, comme j'ai
plusieurs images qui se chargent à la suite, par moment j'ai un plantage de
VB.

Ma question c'est comment avoir le handel de l'image pour utiliser l'API
sans charger l'image dans un picturebox ?

Ou alors comment charger des images en boucles dans un picturebox sans que
cela plante mon programme ?

Merci de votre aide.

Damien

6 réponses

Avatar
Zoury
Salut Damien!

Peut-on voir ton code?


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
Christophe
Salut,

comme zoury, fais voir le code.

notes qu'avant de faire appel à getDIBits ou Getbitmpbits il faut que les
opérations gdi soient terminées, si tu veux en être certain utilise l'API
GDIflush juste avant.

Christophe Vergon

"test" a écrit dans le message de news:


Bonjour,

J'utilise l'API GetBitmapBits pour avoir le handle de l'image je charge
l'image dans un picturebox.

Mon probleme vient du chargement des images dans le picturebox, comme j'ai
plusieurs images qui se chargent à la suite, par moment j'ai un plantage


de
VB.

Ma question c'est comment avoir le handel de l'image pour utiliser l'API
sans charger l'image dans un picturebox ?

Ou alors comment charger des images en boucles dans un picturebox sans que
cela plante mon programme ?

Merci de votre aide.

Damien





Avatar
test
Voici le code qui posse prbl :

' La list1 contient des fichiers images (5000 fichiers)

For i = 0 To list1.ListCount - 1


picture1.Picture = LoadPicture(list1.List(i))



Next i


On boucle sur 5000 fichiers images par exemple et on charge à la suite
l'image en cours dans le picturebox.

Au bout d'un moment ça plante et ça ferme VB, j'ai fait des tests avec image
ou form à la place de picturebox idem.

Le but c'est d'ajouter l'api dans la boucle pour avoir un tableau avec les
bits de l'images, pour faire des comparaisons.

Malheureusement l'api à besoin d'une image chargée (renseignée par son
handel)

Merci de votre aide.

Dams
Avatar
Zoury
Salut Newac! :O)

Peux-tu nous expliquer ce que tu dois faire? il me semble, conceptuellement
parlant, anormal de chargé 5000 images en mémoire d'un coup...

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
test
Non je charge pas 5000 images en mémoire d'un coup, je charge une image pour
avoir son handel pour utiliser l'api, je passe à l'image suivante, je
remplace l'image dans le picturebox et ça continu handel api...

Au debut ça marche bien et après plusieurs boucles ça plante.

Je fait un "doevents" un "refresh", j'ai tout essayé.

Comme le but c'est d'avoir l'image en cours bit à bit (comme getbitmapbit)
comment faire ?

Merci.

Dams

--
NEWAC
Technopole de l'Aube
BP 3
10902 TROYES CEDEX 9
T : 03 25 45 18 90
F : 03 25 45 18 99
e-mail :
site : www.newac.fr
"Zoury" a écrit dans le message de
news:%
Salut Newac! :O)

Peux-tu nous expliquer ce que tu dois faire? il me semble,


conceptuellement
parlant, anormal de chargé 5000 images en mémoire d'un coup...

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/




Avatar
Zoury
> Non je charge pas 5000 images en mémoire d'un coup, je charge une image


pour
avoir son handel pour utiliser l'api, je passe à l'image suivante, je
remplace l'image dans le picturebox et ça continu handel api...



ah! tient c'est vrai.. tu réaffectes toujours Picture1.Picture.. Mais dans
ce cas j'imagine que le code que tu nous a montré n'est pas complet..? Car
l'exemple montré tu n'utilise pas d'api..
Sans voir le code, je présume qu'il s'agt d'une erreur de gestion de mémoire
étant donné que l'erreur survient après quelques coup.. :O/

Montre nous le code complet.. ;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/