我有一個複雜的問題,但它可以通過這個小問題來解決。我想製作一種着色劑,每個像素都有效。如何通過HSL顏色着色?
我對圖片的定義基色(畫面上有這個顏色和許多其他的像素,這是接近這種顏色的多個像素):
Hex: #188DD9
HSL: 204° 80% 47%
RGB: 24 141 217
我知道我的目標底色:
Hex: #23752E
HSL: 128° 54% 30%
RGB: 35 117 46
所以,我想着色圖像。
我的假設是,如果我找到這兩個HSL值的相關性,我可以 逐個像素地着色我的圖片。
目前我發現,如果我移動基準色調(目標色調 - 基色調)= -76,色調就會很好。
您能指導我解決這個問題,飽和度和亮度之間的關係在哪裏?
謝謝!它運行良好。我只做了一次改進。對於接近最終顏色(紅色或綠色或藍色)的某些目標值,着色之後出現錯誤的顏色。改進是:如果(S> Sbase)S = Sbase;在計算S' –
你是否首先嚐試使用if(S'> Smax)S'= Smax;',其中Smax是最大有效飽和度(通常類似於1.0,100或255)。 PS。我建議使用長整數或浮點數進行中間計算,否則可能會因算術溢出而陷入困境。另外,如果使用整數,記得在分割之前先進行乘法運算。 –
不,我沒試過。現在我嘗試了,它產生了相同的結果,您的解決方案是合乎邏輯的。 :) 再次感謝你! –