Colorisation

Résolu
Redman31100 Messages postés 167 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 février 2009 - 26 oct. 2008 à 22:43
Redman31100 Messages postés 167 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 février 2009 - 27 oct. 2008 à 17:33
Voici mon code :

Public Shared Sub Colorize(ByRef bmp As Drawing.Bitmap, ByVal ColorizingColor As Color)
        For x As Integer = 0 To bmp.Width - 1
            For y As Integer = 0 To bmp.Height - 1
                Dim c As Color = bmp.GetPixel(x, y)
                c.GetBrightness()
                Dim r As Integer = c.GetBrightness * ColorizingColor.R
                Dim g As Integer = c.GetBrightness * ColorizingColor.G
                Dim b As Integer = c.GetBrightness * ColorizingColor.B
                Dim nc As Color = Color.FromArgb(r, g, b)
                bmp.SetPixel(x, y, nc)
            Next
        Next
    End Sub

Il permet de "coloriser" une image, seulement si je colorise avec une couleur apres avec une autre et encore une autre l'image devient de plus en plus sombre. Avec Gimp ou photoshop, la clarté de l'image reste là même après colorization ça ne change pas le niveau de gris.

Comment y remédier pour garder le meme niveau gris/alpha pour ne pas perdre la clarté de l'image ?

Redman

5 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
27 oct. 2008 à 10:16
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 oct. 2008 à 09:44
tu prend la couleur de chaque pixel, puis tu la restaure en y opérant un étrange calcul.

pas compris ce que tu cherches a faire...
0
Redman31100 Messages postés 167 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 février 2009
27 oct. 2008 à 16:09
Non, vous n'avez pas compris, je me ré explique, mon code permet de faire une monochromie avec la couleur choisie. J'ai réussi à le faire c'est donc le code que je vous ai montré, seulement si je répète plusieurs fois l'action l'image deviens de plus en plus sombre, je voudrais préserver la luminosité d'origine.

Redman
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
27 oct. 2008 à 16:22
Bonjour,

Bon, je pense avoir compris, si ta "ColorizingColor" est plus sombre que le blanc pétant, tu a l'effet que tu nous dis.

Pour cela, effectue un calcul entre la luminosité moyenne de l'image et la luminosité de "ColorizingColor" et ensuite applique le coefficient de correction.

http://nhen0039.chez-alice.fr/index.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Redman31100 Messages postés 167 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 11 février 2009
27 oct. 2008 à 17:33
Merci :D

Redman
0
Rejoignez-nous