GRAPHIQUE: FUSION DE 2 IMAGES TRÈS RAPIDEMENT

Signaler
Messages postés
95
Date d'inscription
lundi 28 janvier 2002
Statut
Membre
Dernière intervention
21 février 2008
-
Messages postés
30
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
11 juin 2008
-
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/5212-graphique-fusion-de-2-images-tres-rapidement

Messages postés
30
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
11 juin 2008
1
Bonjour !

Quelle est la différence avec [url]http://www.vbfrance.com/code.aspx?ID=21354/url, "FUSION IMMÉDIATE DE 2 IMAGES"

Merci beaucoup
Bonne journée
Messages postés
61
Date d'inscription
dimanche 21 juillet 2002
Statut
Membre
Dernière intervention
23 avril 2003

merci, je vais y travailler quand j'aurais le temps !
rem: une fois compilée, c'est en effet plus rapide...
si ya d'autres remarques, n'hésitez pas...
Messages postés
248
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
19 décembre 2008

Idée : plutôt que de mettre les pixels dans une matrice (buff1, buff2, type Long) , si tu mets directement les composant r,g,b,a dans une liste de type Byte, on n'utilise plus :
- rtlmovememory pour décomposer le pixel en composante
- 2 for-next mais 1 seul
bref, economie d'appel aux api (rtlmovememory, et fornext qui est une api vb) donc gain de temps probable.
Note : il faut tester la vitesse dans la version compilé et non pas interprété par vb.
super les api getdibits et setdibits!
ah oui, dernière trouvaille : le do until ... loop est plus rapide que le for...next quand tu compiles.
Messages postés
248
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
19 décembre 2008

Voila :)
Sans utiliser les fonctions de base (devrais-je dire : de mer...credi) fourni par vb, on peut faire des bonnes applications.

Les APIs utilisé dans cette source sont a réutiliser pour faire votre propre utilitaire de filtre graphique : il sera difficile de faire plus rapide (on manipule les bitmap directement en mémoire, sans passer par .point ou même setpixel)
L'exemple ici est de faire une fusion de deux images, mais on peut imaginer bien d'autres actions.
Afficher les 8 commentaires