Redman31100
Messages postés167Date d'inscriptionmardi 11 septembre 2007StatutMembreDernière intervention11 février 2009
-
26 oct. 2008 à 22:43
Redman31100
Messages postés167Date d'inscriptionmardi 11 septembre 2007StatutMembreDernière intervention11 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 ?
Redman31100
Messages postés167Date d'inscriptionmardi 11 septembre 2007StatutMembreDernière intervention11 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.
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 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.