elflink
Messages postés34Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention10 novembre 2009
-
11 janv. 2005 à 09:53
elflink
Messages postés34Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention10 novembre 2009
-
11 janv. 2005 à 21:26
Bonjour à tous,
Je suis actuellement en train de concevoir un logiciel de lecture vidéo et afin de changer la couleur de certains pixels (bleu) en rose (de la vidéo en lecture) j'utilise la fonction GetPixel et SetPixel. (Je n'ai pas trouvé le moyen de traîter la vidéo en dehors de la fenêtre dans laquelle elle est lue)
Les fonctions GetPixel et SetPixel son très longues à l'éxécution.
Existe-t-il une autre méthode d'analyse ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 11 janv. 2005 à 10:11
Attends, je suis en train de penser : il y a un moyen plus simple et
plus rapide en fait : tu copie ton image avec TransparentBlt (en
définissant la couleur bleu comme couleur de transparence) sur une
image à fond rose, et le tour est joué !
DarK Sidious
[Administrateur et responsable VB/API du site ProgOtoP]
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 11 janv. 2005 à 10:07
Salut,
En effet, si ces fonctions sont pratiques pour manipuler 1 ou 2 pixels,
le temps de traitement pour ce que tu veux faire est vraiment long !
Tu peux par contre utiliser les fonction GetDIBits et SetDIBits qui
permettent de récupèrer les bits d'une image sous forme de tableau et
de définir une image à partir d'un tableau de bits.
Je te conseille d'aller voir ma source (écrite en VB malheureusement)
nommée DKS_Gestion_Image sur VBFrance.com : environ 30 fois plus rapide
que GetPixel/SetPixel !
Il s'agit d'une dll ActiveX, dont tu dois pouvoir l'utiliser assez
facilement sous VC++, mais je pense que si tu la trduit en une classe
C++, tu devrais y gagner encore en rapidité !
DarK Sidious
[Administrateur et responsable VB/API du site ProgOtoP]