0
如何使UIImageView
具有漸變模糊background
?換句話說,左側的圖像完全是blurred
,右側的圖像模糊不清?使用漸變色模糊UIImageView
如何使UIImageView
具有漸變模糊background
?換句話說,左側的圖像完全是blurred
,右側的圖像模糊不清?使用漸變色模糊UIImageView
我們在一個項目中做了同樣的事情!我們使用這種方法:
(UIImage *)blurImage:(CGImageRef*)image withBlurLevel:(CGFloat)blur
{
CIImage *inputImage = [CIImage imageWithCGImage:image];
CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"
keysAndValues:kCIInputImageKey, inputImage, @"inputRadius", @(blur), nil];
CIImage *outputImage = filter.outputImage;
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef outImage = [context createCGImage:outputImage
fromRect:[inputImage extent]];
UIImage *returnImage = [UIImage imageWithCGImage:outImage];
CGImageRelease(outImage);
return returnImage;
}
該代碼使用GPU進行模糊,但你需要調用另一個線程的方法,如果你不想被阻塞第二你的UI做。
希望它有幫助!
謝謝,這是一個很好的模糊,但不是梯度..?有沒有辦法添加漸變? – cannyboy
也許你可以使用CGGradient http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGGradient/Reference/reference.html 我從來沒有使用它,但它似乎是一個很好的解決方案,使用Core圖形框架 – lucaslt89