-3

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

4

1 回答 1

1

首先,您需要将图像设置为视图控制器中的属性,例如本例中的 myImage。

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

UISlidervalue changed 方法中,您可以使用以下内容:

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

于 2013-09-12T14:22:14.587 回答