Détourer des images

Soyez le premier à donner votre avis sur cette source.

Vue 4 295 fois - Téléchargée 695 fois

Description

Si comme moi vous ne savez pas vous servire de photoshop ou autre, et que vous faite des animations ou alors des images sur fond transparent, vous devez détester le moment de détourer les image (enlever les pixels qui ne sont pas transparent). Donc j'ai fait un code qui enleve les pixels genant, vous devez juste choisir la couleur des pixels qui vous gene et l'indice de detourage.
Si vous ne comprenez pas regarder le screen il y a 2 image en haut la normal en bas la détouré.

Je viens de mettre la source à jour, maintenant vous pouvez changer la couleur du fond, et avoir different type d'aperçu, et arreter les processus en cour.

Source / Exemple :


Tout est dans le zip, j'espere avoir assez bien commenté la source.

Pour ce qui ne savent pas RGB = Red Green Blue et pour les non anglophone comme moi Rouge Vert et Bleu.

Conclusion :


Pour l'instant je ne connais pas de bug, donc si vous en trouver dites le moi.
J'ai trouvé un bug donc je l'ai réglé, si on avait changer l'image ou changer la couleur plusieur fois on ne pouvait plus accéder au détourage.
Le processus sans aperçus n'est pas trop lent, avec un temps réel le processus est beaucoup plus lent.
Par exemple :
Detourage d'un image de 640*480 par un indice de 30
Temps réél : 1406 s (23 min)
Temps indexé à 50 ms : 23s
Sans apercu : 22s

Changement de couleur d'une image de 640*480 à l'indice 30 :
Temps réél : 877s (14min)
Temps indexé à 50 ms : 27 s
Sans aperçu : 25s

Comme vous pouvez le voir les temps sont vraiments differents surtour pour l'aperçus en temps réél ...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
vendredi 27 juillet 2007
Statut
Membre
Dernière intervention
27 juillet 2007

Bonjour
Un imbécile (néanmoins heureux) aimerait profiter de votre sciences. Comment employer un tel élément. Je le télécharge et ensuite...
Messages postés
589
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
18 juillet 2010
1
Oui oui Arknoth c'est toujours mieu en 9s, héhé.
Faut aussi penser que la vitesse de calcul dépend du pc.
Si tu veux un apercu en temps réél qui donne vraiment un exemple fait un changement de couleur du fond et la tu verras les pixels 1 à 1 changer de couleur.

Oui c'est vrai vald, tu as raison pour la bar de progression, pour le GetDIBits c'est vrai que mon programme pourrais se servir de cette api, mais héhé je l'ai fait avec Getpixel et SetpixelV, donc je laisserais comme sa.

Désolé je ne reprendrai pas cette source, par contre vous pouvez reprendre n'importe quel partie du code, meme le code en entier dans vos codes (n'oublier pas de mentionner mon pseudo please)

allé bon code.

et merci pour les commentaires et pour cette superbe note.
Messages postés
285
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
13 février 2005

Coucou jeune codeur hehe

Juste, je confirme les deux/3 remarques du dessus : la progressbar, tu peux la mettre Max à 100, et réguilèrement, Value = X / Pic.Width * 100 hehe

Ensuite, je me demande pkoi c'est si lent (on peut faire du 1024/768 en temps réel) meme en VB (GetDIBBits for example)

Et je complète : C'est un Filtre Heuristique par Approximation Affine...

Vlad qui vient chez les gens pour leur dire des trucs
Vlad, quoi
.
Messages postés
96
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
22 août 2004

No, je critique je critique, mais ta source est très bien :p

Pour le temps réel pris au pied de la lettre, C sur c'est un peu trafiqué, mais peut-être vaut-il mieux tomber a 9s sur une image 1024*768 que 1406s sur du 640*480 ;) Je pense pas que t'arrives a compter les lignes en 9s :p

Histoire de chipoter : en fait pourquoi ne pas lier Temps réel et Apercu ? Dans la pratique, le temps réel sans apercu ne servirait que si tu trouvais utile d'interrompre le processus a un moment donné, sans en voir l'avancement, et de pouvoir le relancer pour qu'il reprenne là où tu l'as arrêté.

Chose intéressante, on peut "switcher" l'apercu pendant la phase de calcul
Messages postés
96
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
22 août 2004

Autre petite chose : ta progressbar
Je pense qu'il est inutile de définir ta valeur Max a W*H, vu le chiffre que ca donne, il te suffira de n'avancer la barre que dans la première boucle, d'une part parceque ta barre est "Standard" et non "Smooth" (gros cubes) donc la progression d'un pixel n'est pas visible, et d'autre part parceque rafraichir un contrôle du type ProgressBar W*H fois bouffe énormément les performances

Correction du commentaire du dessus : laisse le Picture1.Refresh
(désolé pour la boulette)
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.