DKS_GESTION_IMAGE 1.0 : ACCÈLÈRER LE TRAITEMENT DES IMAGES : 30 FOIS PLUS RAPIDE

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
Messages postés
39
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
26 septembre 2012
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/22490-dks-gestion-image-1-0-accelerer-le-traitement-des-images-30-fois-plus-rapide

Messages postés
39
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
26 septembre 2012

Bonjour DARKSIDIOUS,
je suis débutant et j'essai d'approcher le traitement d'image ( pour le plaisir ).
J'utilise la bonne vieille methode dite "lente"... et c'est vrai que c'est hyper lent !!
Alors j'ai essayé ton prog, mais il ne tourne pas en vb.net ... je suis dégouté, et j'ai pas le niveau pour le debugger.
Est ce que tu as un exemple de cette technique "ultra rapide" qui tourne sur vb.net ?
Merci
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Padyven : ta fonction (set/getbitmapbits) est l'ancienne version du get/setdibits qui est utilisé dans ma source. Elles (get/setdibits) permet bien plus de chose que get/setbitmapbits !

Et je te rassure, ma source permet de travailler directement sur le tableau de bits en mémoire, et non de charger à chaque fois le tableau pour faire un traitement comme doit le faire GetPixel/SetPixel !
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
y'a plus rapide encore, hacker ton tableau de bits pour qu'il pointe sur la zone mémoire du Bitmap...
(SafeArray & Co)
Messages postés
69
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
29 août 2012

C'est peut etre ca

Private Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
Private Declare Function SetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long

ca permet de copier tous les bits d'une image dans un buffer
apres ya qua faire du refresh
Messages postés
69
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
29 août 2012

Il existe une API qui charge tout le tableau de couleur d'une image et qui permettrai encore plus d'accellerer le traitement
evidement une autre api permet de le restituer equivalent de bitblt
Desole je retrouve pas le nom
Afficher les 66 commentaires