나는 이것을 찾고 있었지만 정답을 찾을 수 없었다.가우시안 흐림 및 UIImageView (iOS)
버튼을 만들고 싶습니다.이 버튼을 누르면 이미지 뷰가 가우시안 블러로 흐려집니다.
어떻게 할 수 있습니까?
나는 이것을 찾고 있었지만 정답을 찾을 수 없었다.가우시안 흐림 및 UIImageView (iOS)
버튼을 만들고 싶습니다.이 버튼을 누르면 이미지 뷰가 가우시안 블러로 흐려집니다.
어떻게 할 수 있습니까?
당신은 사용할 수 StackBluriOS 또는 GPUImage
또는
이 (발견 here) 시도 : Stackoverflow
@interface UIImage (ImageBlur)
- (UIImage *)imageWithGaussianBlur;
@end
@implementation UIImage (ImageBlur)
- (UIImage *)imageWithGaussianBlur {
float weight[5] = {0.2270270270, 0.1945945946, 0.1216216216, 0.0540540541, 0.0162162162};
// Blur horizontally
UIGraphicsBeginImageContext(self.size);
[self drawInRect:CGRectMake(0, 0, self.size.width, self.size.height) blendMode:kCGBlendModePlusLighter alpha:weight[0]];
for (int x = 1; x < 5; ++x) {
[self drawInRect:CGRectMake(x, 0, self.size.width, self.size.height) blendMode:kCGBlendModePlusLighter alpha:weight[x]];
[self drawInRect:CGRectMake(-x, 0, self.size.width, self.size.height) blendMode:kCGBlendModePlusLighter alpha:weight[x]];
}
UIImage *horizBlurredImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// Blur vertically
UIGraphicsBeginImageContext(self.size);
[horizBlurredImage drawInRect:CGRectMake(0, 0, self.size.width, self.size.height) blendMode:kCGBlendModePlusLighter alpha:weight[0]];
for (int y = 1; y < 5; ++y) {
[horizBlurredImage drawInRect:CGRectMake(0, y, self.size.width, self.size.height) blendMode:kCGBlendModePlusLighter alpha:weight[y]];
[horizBlurredImage drawInRect:CGRectMake(0, -y, self.size.width, self.size.height) blendMode:kCGBlendModePlusLighter alpha:weight[y]];
}
UIImage *blurredImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//
return blurredImage;
}
에서 대답을 그리고 다음과 같이 사용 :
UIImage *blurredImage = [originalImage imageWithGaussianBlur];
으로 더 강하게 흐려진다. 이 효과를 두 번 이상 적용하지 마십시오.
작동하지 않습니다 – user2291669
독립형으로 사용해 보셨습니까? 버튼을 누르지 않아도 흐리게 표시된 이미지 만 설정하면됩니다. 모든 옵션을 시도 했습니까? – lukaswelte
@lukaswelte 그것의 일하는 형제. 감사합니다 – Pushkraj
CoreImage Framework (Apple Doc) 또는 GPUImage (Github Page)와 같은 타사 프레임 워크를 사용해야합니다. Gaussian Blur는 iOS 6부터 CoreImage (iOS)에서만 사용할 수 있습니다. 물론 다른 솔루션을 사용할 수도 있지만 해당 프레임 워크로 적절한 "필터링"이 수행됩니다.
이 https://github.com/lukabernardi/LBBlurredImage 위해 가십시오 – Gaurav
OSX? IOS? 어떤 버전입니까? 너 뭐 해봤 니? 등등? 코어 이미지는 해결책입니까? –
Google, 'ios image gaussian blur.'에 대한 정보를 찾으십시오. –
UIImageView는 iOS가 아닌 – lukaswelte