我們想要使用CoreImage
在iOS 8.0+
應用程序中實現HSL
顏色調整濾鏡。使用CoreImage的iOS 8.0+應用程序中的HSL顏色調整濾鏡
加載圖像之後,用戶選擇的顏色(如紅色),然後是能夠調整色調,飽和,並且只有圖像內的色的亮度。此過濾器可能會在顯示預覽的同時多次應用,因此性能非常重要。
濾波器應接受inputImage的的參數,目標顏色,然後色調,飽和的調整,和亮度。
CIImage *inputImage
UIColor *targetColor
float hueAdjustment (identity 0)
float saturationAdjustment (identity 0)
float luminanceAdjustment (identity 0)
我們已經嘗試過這種方法,而且由於這適用HSB
過濾器,以整體形象,而不是特定的顏色,我們不能用這個 How to apply HSB color filters to UIImage
我有一種感覺,這涉及CIColorMatrix
,但我不確定我們如何才能使矩陣適用於特定的顏色範圍。
雖然聽起來很蠢,但你對「一種顏色」的定義是什麼?如果我選擇紅色 - (1.0,0.0,0.0) - 並將其映射到藍色,那麼我的源圖像中像素會發生什麼變化,例如(0.99,0.0,0.0)?不會因爲數字上的不同而產生不同的顏色,因爲它足夠接近,通過與紅色接近的比例相關的數量來調整,就好像是純紅色一樣,還是其他的東西? – Tommy
它根本不是白癡。正如你所說的那樣,它應該按照一定比例的量進行顏色調整。比例本身可以設置爲「容差」或其他一些變量,可能每種顏色的容差都會被調整,或者通過其他類似的方法 – Efesus