模糊UIImage的特定部分

时间:2014-09-10 12:03:10

标签: ios uiimageview uiimage gradient

我有一个UIImageView,我想只模糊图像的底部。 有人可以帮我这个吗?

我使用了UIImage + ImageEffects类别来完全模糊图像。我怎样才能在特定部分进行此操作?

1 个答案:

答案 0 :(得分:0)

将UIImage拆分为两个UIImage。模糊你想要的那个,让另一个不受影响。下面将图像精确地分割在中心,如果要移动模糊部分,请调整CGImageCreateWithImageInRect调用中的rects。

UIImage *image = [UIImage imageNamed:@"yourImage.png"];
CGFloat halfImageHeight = image.size.height / 2.f;
CGImageRef topImgRef = CGImageCreateWithImageInRect(image.CGImage, CGRectMake(0, 0, image.size.width, halfImageHeight));
UIImage *topImage = [UIImage imageWithCGImage:topImgRef];
CGImageRelease(topImgRef);

CGImageRef bottomImgRef = CGImageCreateWithImageInRect(image.CGImage, CGRectMake(0, halfImageHeight,  image.size.width, halfImageHeight));
UIImage *bottomImage = [UIImage imageWithCGImage:bottomImgRef];
CGImageRelease(bottomImgRef);

// Add blur effects to bottomImage