画像にぼかし効果を加えるために使用されるフロート値を増加させるスライダーをスライドさせたときにUIImage
を更新できるかどうか疑問に思っていましたか? UIImageView
現在、私のスライダーはフロート値を設定し、ボタンはフロート値に応じてぼかし効果を生み出します。どんなコードでも素晴らしいでしょう。
次のようになります。
float hello = [slider value];
CIFilter *gaussianBlurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
[gaussianBlurFilter setDefaults];
[gaussianBlurFilter setValue:[CIImage imageWithCGImage:[imageView.image CGImage]] forKey:kCIInputImageKey];
[gaussianBlurFilter setValue:@(hello) forKey:kCIInputRadiusKey];
CIImage *outputImage = [gaussianBlurFilter outputImage];
CIContext *context = [CIContext contextWithOptions:nil];
CGRect rect = [outputImage extent];
// these three lines ensure that the final image is the same size
rect.origin.x += (rect.size.width - imageView.image.size.width ) / 2;
rect.origin.y += (rect.size.height - imageView.image.size.height) / 2;
rect.size = imageView.image.size;
CGImageRef cgimg = [context createCGImage:outputImage fromRect:rect];
UIImage *image = [UIImage imageWithCGImage:cgimg];
CGImageRelease(cgimg);
imageView.image =image;
どんなコードでも大歓迎です:D