Passage d'image en couleur en nuance de gris?

hagen132456 25 Messages postés lundi 25 avril 2005Date d'inscription 27 juillet 2005 Dernière intervention - 5 juil. 2005 à 16:14 - Dernière réponse :  rgb
- 19 sept. 2018 à 14:06
bonjour à tous.

Voila j'ai un petit souci en C#.
j'aimerais traiter un image couleur, par example un screenshot, et grace à une fonction l apasser en noir et blanc ou plutot nuance de gris....
Je ne vois pas commetn faire cela.
si kk1 à deja été face à ce problème ou saurais m'aiguiller ca serait bien sympathique.

Merci @ vous;
bon courage et @++
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - Modifié par jordane45 le 19/09/2018 à 21:58
1
Merci
J'ai testé ma formule, elle marche bien mais j'ai l'impression que l'image est plus fade qu'avec la méthode que tu as trouvé Mx.
int rgb;
Color pixel;
    
for ( int x = 0; x < bmp.Width; x++ )
{
    for ( int y = 0; y < bmp.Height; y++ )
    {
        pixel = bmp.GetPixel( x, y );
        rgb = ( pixel.R + pixel.G + pixel.B ) / 3;
        bmp.SetPixel( x, y, Color.FromArgb( rgb, rgb, rgb ) );
    }
}


EDIT : Ajout des balises de code

Merci Lutinore 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de Lutinore
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 5 juil. 2005 à 16:25
0
Merci
Salut, je savais mais je ne sais plus :(
Je crois que la formule c'est qlq'chose comme ca:

pour chaque pixels:

temp = ( Red + Green + Blue ) / 3;
Red Green Blue = temp;
Commenter la réponse de Lutinore
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - Modifié par jordane45 le 19/09/2018 à 21:58
0
Merci
Tu peux trouver une telle méthode sur cette source

public static bool GrayScale(Bitmap bmp)

        {

            try

            {

                for(int y = 0; y < bmp.Height; y++)

                {

           
        for(int x = 0;x < bmp.Width;
x++)

                    {

           
            Color c =
bmp.GetPixel(x, y);

           
            int luma =
(int)(c.R * 0.3 + c.G * 0.59+ c.B * 0.11);

           
           
bmp.SetPixel(x, y, Color.FromArgb(luma,luma,luma));

                    }

                }

                return true;

            }

            catch(Exception){ return false; }

        }


EDIT : Ajout des balises de code

Mx
Commenter la réponse de MorpionMx
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 5 juil. 2005 à 17:48
0
Merci
J'ai l'impression qu'elle rend juste un peu moins le foncé, mais elle reste tout a fait valable

Mx
Commenter la réponse de MorpionMx
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 5 juil. 2005 à 17:55
0
Merci
J'avais pas vu que c'était une source à toi.. Moi aussi je travaille sur Lena, j'aime bien lui faire "des trucs" à Lena : ))
Commenter la réponse de Lutinore
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 5 juil. 2005 à 17:56
0
Merci
Chouette, un autre fan de Lena :)

Mx
Commenter la réponse de MorpionMx
hagen132456 25 Messages postés lundi 25 avril 2005Date d'inscription 27 juillet 2005 Dernière intervention - 5 juil. 2005 à 17:59
0
Merci
Yo merci pour cette réponse si rapide.
je débutte dans le C# donc je misère un peu mais bon me suis formé seul donc ben.....

Je teste ca demain et validerai la réponse.
Un grand merci encore @ MX et LUTINORE

j'ai plusieurs autres tits souci en fait donc je vais vous réembeter assez rapidement .

Je développe des composants pour une boite et je vais poser mes sources d'ici quelques temps et regardant si elle peuvent étoffer la liste sinon je m'abstiendrai.

en tout cas il ya vraiment plein de truc intéressant sur ce site!
Vraiment génial en somme!
encore merci ++
Commenter la réponse de hagen132456

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.