图像灰度与动画 - iOS

时间:2013-09-12 14:04:07

标签: iphone ios core-animation core-image

我有一个有价值的滑块。当我更改滑块时,我希望imageview中的图像根据滑块中设置的值变为灰度。

1 个答案:

答案 0 :(得分:1)

首先,您需要将图像设置为视图控制器中的属性,为此示例说明myImage。

您还需要为滑块创建一个值更改操作。

UISlider值更改方法中,您可以使用以下内容:

float sliderValue = VALUE OF SLIDER BETWEEN 0.0 AND 1.0

self.myImage = [UIImage imageWithCGImage:[CIFilter filterWithName:@"CIColorMonochrome" keysAndValues:kCIInputImageKey, beginImage, @"inputIntensity", [NSNumber numberWithFloat:sliderValue], @"inputColor", [[CIColor alloc] initWithColor:[UIColor whiteColor]], nil].outputImage];

这会根据滑块值更改单色级别。

使用CIFilter类:https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/QuartzCoreFramework/Classes/CIFilter_Class/Reference/Reference.html#//apple_ref/occ/clm/CIFilter/filterWithName:keysAndValues

单色滤镜:https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CoreImageFilterReference/Reference/reference.html#//apple_ref/doc/filter/ci/CIColorMonochrome