Desidero scurire un colore esistente da utilizzare in un pennello sfumato. Qualcuno potrebbe dirmi come farlo per favore?Come si regola la luminosità di un colore?
C#, NET 2.0, GDI +
Color AdjustBrightness(Color c1, float factor)
{
float r = ((c1.R * factor) > 255) ? 255 : (c1.R * factor);
float g = ((c1.G * factor) > 255) ? 255 : (c1.G * factor);
float b = ((c1.B * factor) > 255) ? 255 : (c1.B * factor);
Color c = Color.FromArgb(c1.A,(int)r, (int)g, (int)b);
return c ;
}
Questo funziona, ma doesn' In realtà danno valori precisi per i valori di colore percettivi. Suggerirei di dare un'occhiata alla risposta di Richard o del dommer per i dettagli del modello di colore HSL/HSV. – Ant
Devi stare attento se decidi di usare * 1.25 per rendere più luminoso come se il risultato fosse superiore a 255, ma genererebbe un'eccezione. –