3

画像にぼかし効果を加えるために使用されるフロート値を増加させるスライダーをスライドさせたときに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

4

0 に答える 0