cs_AntiSlash
Messages postés61Date d'inscriptiondimanche 21 juillet 2002StatutMembreDernière intervention23 avril 2003 20 mars 2003 à 22:13
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...
Proger
Messages postés248Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention19 décembre 2008 19 mars 2003 à 16:02
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.
Proger
Messages postés248Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention19 décembre 2008 1 déc. 2002 à 21:31
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.
cs_AntiSlash
Messages postés61Date d'inscriptiondimanche 21 juillet 2002StatutMembreDernière intervention23 avril 2003 30 nov. 2002 à 11:13
Gorgot>> c'est normal, j'ai pas mis la fonction de reconnaissance du mode... change
Iobj = CreateBitmap(W + 1, H, 1, 32, FinalColor(0, 0))
par
Iobj = CreateBitmap(W + 1, H, 1, xxxxx, FinalColor(0, 0)) avec xxxx la valeur de ton mode de couleur... Mais je vais changer mon code pour qu'il y est plus de prob.
Anthomicro>> Je prefere les choses compliquées ! (je connaissais pas cette api)
Proger
Messages postés248Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention19 décembre 2008 30 nov. 2002 à 11:07
Anthomicro > marche pas sous w95 l'api alphablend!
Gorgot > il faut que ton bureau soit en mode couleurs 32bits
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 30 nov. 2002 à 08:00
28 juil. 2004 à 14:40
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
20 mars 2003 à 22:13
rem: une fois compilée, c'est en effet plus rapide...
si ya d'autres remarques, n'hésitez pas...
19 mars 2003 à 16:02
- 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.
1 déc. 2002 à 21:31
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.
30 nov. 2002 à 11:13
Iobj = CreateBitmap(W + 1, H, 1, 32, FinalColor(0, 0))
par
Iobj = CreateBitmap(W + 1, H, 1, xxxxx, FinalColor(0, 0)) avec xxxx la valeur de ton mode de couleur... Mais je vais changer mon code pour qu'il y est plus de prob.
Anthomicro>> Je prefere les choses compliquées ! (je connaissais pas cette api)
30 nov. 2002 à 11:07
Gorgot > il faut que ton bureau soit en mode couleurs 32bits
30 nov. 2002 à 08:00
http://www.vbfrance.com/article.aspx?Val=4155
Voilà
30 nov. 2002 à 01:57
Gorgot