我们想要使用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