GESTION DES IMAGES - 1

Signaler
Messages postés
224
Date d'inscription
samedi 25 janvier 2003
Statut
Membre
Dernière intervention
17 juin 2006
-
Messages postés
224
Date d'inscription
samedi 25 janvier 2003
Statut
Membre
Dernière intervention
17 juin 2006
-
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

Messages postés
224
Date d'inscription
samedi 25 janvier 2003
Statut
Membre
Dernière intervention
17 juin 2006

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 =)