GESTION DES IMAGES - 1

ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006 - 16 sept. 2006 à 16:58
ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006 - 16 sept. 2006 à 16:58
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/11471-gestion-des-images-1

ennixo Messages postés 224 Date d'inscription samedi 25 janvier 2003 Statut Membre Dernière intervention 17 juin 2006
16 sept. 2006 à 16:58
Salut, à lire ton code, je vois tout de suite 2 erreurs qui font que ton code doit être assez lent à l'exécution...

1. Dans tes boucles, tu accèdes aux propriétés img.Width et img.Height ce qui a pour effet de nettement ralentir ton programme. Stocke les valeurs dans des variables, et compare le temps d'exécution...

2. GetPixel et SetPixel sont très lent eux aussi, pour des performances optimales, travailles en mode unsafe pour récupérer le tableau des pixels sous forme d'un pointeur d'Uint32 (Argb). Ensuite, applique un XOR 0x00ffffff à chaque pixel, dans l'ordre ou ils viennent (à partir de la valeur de départ du pointeur et pour chaque pixel, pas besoin de width, height).

Si tu fais ça, juste pour te donner un ordre d'idées, le temps de calcul nécessaire pour rendre une image d'environ 3000 x 4000 pixels prendra 0,34 secondes, celui nécessaire pour une image de 800 x 600 prendra 0,03 secondes.

Si tu veux que je poste un morceau de code faisant cela, il suffit de demander =)
Rejoignez-nous