使用垂直滑块iOS目标c调整饱和度和亮度

时间:2017-06-30 06:43:36

标签: ios objective-c slider brightness

我需要使用垂直滑块调整所选图像的亮度和饱和度,如enter image description here所示,如何实现此垂直滑块。 对图书馆的任何帮助也会很棒..

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作

1)Verticle Slider:

a)将滑块正常添加到UIView所需的位置 b)使用该方法使用以下代码旋转幻灯片。

CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI_2);
slider.transform = trans;

2)可以使用以下代码调整亮度。

[[UIScreen mainScreen] setBrightness: slider.value];

3)要改变饱和度,我建议使用UIImage的类别来扩展更多功能。

-(UIImage*) imageDesaturated {
    CIContext *context = [CIContext contextWithOptions:nil];
    CIImage *ciimage = [CIImage imageWithCGImage:self.CGImage];
    CIFilter *filter = [CIFilter filterWithName:@"CIColorControls"];
    [filter setValue:ciimage forKey:kCIInputImageKey];
    [filter setValue:@0.0f forKey:kCIInputSaturationKey];
    CIImage *result = [filter valueForKey:kCIOutputImageKey];
    CGImageRef cgImage = [context createCGImage:result fromRect:[result extent]];
    UIImage *image = [UIImage imageWithCGImage:cgImage];
    CGImageRelease(cgImage);
    return image;
}