MKMapView
의 스크린 샷에 이미지 효과를 적용하여 내 유리에 iOS 7 스타일 유리 효과를 사용하려고합니다. 애플이 제공 한 This UIImage category이 내가 기준선으로 사용하고있는 것이다. 이 방법은 원본 이미지를 채도 색조 색상을 적용하고, 무겁게 입력 발스 사용하여 흐림 : 이것은 내가 찾고 있어요 효과가있다GPUImage를 사용하여 iOS 7 유리 효과 다시 만들기
[image applyBlurWithRadius:10.0
tintColor:[UIColor colorWithRed:229/255.0f green:246/255.0f blue:255/255.0f alpha:0.33]
saturationDeltaFactor:0.66
maskImage:nil];
,하지만 너무 오래 걸립니다 -에 렌더링 .3
및 .5
초 사이 아이폰 4
GPUImage
을 사용하고자하는
은 약 5 ~ 10 배 빠른 속도로왔다, 그러나 나는 바로 그것을 얻을 수없는 것.
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc] initWithImage:image];
GPUImageSaturationFilter *saturationFilter = [[GPUImageSaturationFilter alloc] init];
saturationFilter.saturation = 0.33; // 1.0 - 0.66;
[stillImageSource addTarget:saturationFilter];
GPUImageMonochromeFilter *monochromeFilter = [[GPUImageMonochromeFilter alloc] init];
[monochromeFilter setColor:(GPUVector4){229/255.0f, 246/255.0f, 1.0f, 0.33f}];
[monochromeFilter setIntensity:0.2];
[saturationFilter addTarget:monochromeFilter];
GPUImageFastBlurFilter *blurFilter = [[GPUImageFastBlurFilter alloc] init];
blurFilter.blurSize = 2;
blurFilter.blurPasses = 3;
[monochromeFilter addTarget:blurFilter];
[saturationFilter prepareForImageCapture];
[monochromeFilter prepareForImageCapture];
[stillImageSource processImage];
image = [blurFilter imageFromCurrentlyProcessedOutput];
이 있지만 꽤있다
나는 위의 blurSize
를 증가하려고하면 흐림, 그것을 충분히 깊은 것 같다,하지만하지 않는, 가까운 이미지를 생성 거의 만화경처럼 격자 모양이됩니다. 두 번째 이미지를 확대하여 여기에서 실제로 눈금을 볼 수 있습니다. 내가 흉내 내고자하는 틴트 컬러는 오버레이 및 블렌딩 대신 이미지를 씻어내는 것처럼 보입니다. 애플 샘플이하는 것처럼 생각합니다.
another SO question에서 @BradLarson이 작성한 의견에 따라 필터를 설정하려고했습니다. 이 효과를 재연하는 데 잘못된 GPUImage
필터를 사용하고 있습니까? 아니면 잘못 설정 한 것입니까?
https://github.com/JagCesar/iOS-blur를 사용해 보셨나요? iOS7에서만 작동하지만 훌륭합니다. –
iOS-Blur는 실행 가능한 솔루션이 아닙니다. 당신은 애플이이 작업을하기 위해 두포에서 무엇을하는지 모르며, iOS 6에서는 작동하지 않습니다. – coneybeare