Возможно ли смешивание в реальном времени, как стрелка в центре уведомлений на iOS 7? Интересно, возможно ли смешать UIImage с мягким светом с содержимым (UIView или CALayer) прямо под ним, чтобы фоновое изображение могло двигаться, а смешанное изображение оставалось на одном месте.
Я хочу, чтобы это было место, где вы можете иметь UIImage, где вы можете установить для свойства blendMode любой режим наложения, который вам нужен, например, imageView.blendMode = kCGBlendModeSoftLight;
Я попытался использовать GPUImage, но не смог понять, как сделать то, что мне нужно. Любая помощь будет оценена по достоинству.
Пока что код, который я использую для установки режима наложения UIImage, таков: однако, если фоновое представление перемещается, переход на UIImage не обновляется.
//blur the background
GPUImageGaussianBlurFilter *blurFilter = [[GPUImageGaussianBlurFilter alloc] init];
blurFilter.blurRadiusInPixels = 50.0f;
blurFilter.blurPasses = 4;
UIImage *blurredBackground = [blurFilter imageByFilteringImage:[UIImage imageNamed:@"Background.png"]];
//make the blended images
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 2.0f);
CGContextSetInterpolationQuality(UIGraphicsGetCurrentContext(), kCGInterpolationHigh);
[blurredBackground drawInRect:self.view.bounds blendMode:kCGBlendModeNormal alpha:1.0];
[[UIImage imageNamed:@"BarLineImage.png"] drawInRect:CGRectMake(0, self.view.bounds.size.height - 31, self.view.bounds.size.width, 1) blendMode:kCGBlendModeSoftLight alpha:1.0];
[[UIImage imageNamed:@"Equalizer-th.png"] drawInRect:CGRectMake(65, self.view.bounds.size.height - 30, 30, 30) blendMode:kCGBlendModeSoftLight alpha:1.0];
[[UIImage imageNamed:@"Player-th.png"] drawInRect:CGRectMake(145, self.view.bounds.size.height - 30, 30, 30) blendMode:kCGBlendModeSoftLight alpha:1.0];
[[UIImage imageNamed:@"Container-th.png"] drawInRect:CGRectMake(225, self.view.bounds.size.height - 30, 30, 30) blendMode:kCGBlendModeSoftLight alpha:1.0];
UIImage *blendedImages = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Вот скриншот того, что делает этот код для наглядности.
Это выглядит так, как мне нужно, но я не могу анимировать содержимое под изображениями внизу. Мне действительно нужно иметь возможность смешивания в реальном времени для UIImages и UIViews.