शायद मैं सही रंग शब्दावली का उपयोग नहीं कर रहा हूं लेकिन मैं मूल रूप से संलग्न तस्वीर के समान रंगों को स्केल करने में सक्षम होना चाहता हूं। मैं ऐसा करने के लिए संतृप्ति की खोज कर रहा हूं, क्योंकि ऐसा लगता है कि सही संस्करण बाएं का एक कम संतृप्त संस्करण है।रंग को डिसाइनेट कैसे करें?
मैं इस कोशिश कर रहा था (मैंने पाया है) लेकिन यह बिल्कुल सही नहीं लग रही है:
Public Shared Function GetDesaturatedColor(color As Color) As Color
Const kValue As Double = 0.01R
Dim greyLevel = (color.R * 0.299R) + _
(color.G * 0.587R) + _
(color.B * 0.144R)
Dim r = greyLevel * kValue + (color.R) * (1 - kValue)
Dim g = greyLevel * kValue + (color.G) * (1 - kValue)
Dim b = greyLevel * kValue + (color.B) * (1 - kValue)
' ColorUtils.ToByte converts the double value
' to a byte safely
Return color.FromArgb(255, _
ColorUtils.ToByte(r), _
ColorUtils.ToByte(g), _
ColorUtils.ToByte(b))
End Function
किसी को भी कुछ एल्गोरिथ्म है कि यह कर सकते हैं के बारे में पता है?
खोजें यहां आरजीबी के लिए एचएसएल के लिए और आप विषय पर कई पदों मिल जाएगा। – Brad