iOS 7 の通知センターで矢印のようなリアルタイム ブレンディングを行うことはできますか? UIImage をコンテンツ (UIView または CALayer) のすぐ下にある柔らかい光とブレンドして、背景画像を移動でき、ブレンドされた画像が 1 つの場所にとどまるようにすることは可能かどうか疑問に思います。
次のように、blendModeプロパティを必要なブレンドモードに設定できるUIImageを持つことができる場所にしたいです。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 をリアルタイムでブレンドできるようにする必要があります。