用CiGaussianBlur模糊图像的UISlider也可以旋转图像

时间:2014-05-17 15:59:38

标签: ios uiimage uislider blur

我有一个UISlider,范围从0到30。

不幸的是,当我使用UISlider时,图像开始模糊,但它也会旋转。

以下是代码:

-(IBAction)slider:(UISlider *)sender
{
    float slideValue = [sender value];

    CIImage *beginImage = [[CIImage alloc] initWithImage:image];
    CIContext *context = [CIContext contextWithOptions:nil];

    CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur" keysAndValues:kCIInputImageKey, beginImage, @"inputRadius", [NSNumber numberWithFloat:slideValue], nil];
    CIImage *outputImage = [filter valueForKey:kCIOutputImageKey];

    CGImageRef cgimg = [context createCGImage:outputImage fromRect:[beginImage extent]];
    UIImage *newImg = [UIImage imageWithCGImage:cgimg];

    [imageView setImage:newImg];
    CGImageRelease(cgimg);
}

问题出在哪里?

提前致谢。

1 个答案:

答案 0 :(得分:2)

问题在于这一行:

UIImage *newImg = [UIImage imageWithCGImage:cgimg];

这太简单了。致电[UIImage imageWithCGImage:cgimg scale:originalScale orientation:originalOrientation];(您需要为这些提供正确的值)。