0
ビデオアプリを作成していますが、ビデオのぼかし背景を追加しようとしています。like thatとスライド値に応じてぼかし効果を制御しています。私はコーディングにObjectivc-Cを使用しています。私はそれをどうすればいいのですか?iOSビデオの背景ぼかしを作成する
ビデオアプリを作成していますが、ビデオのぼかし背景を追加しようとしています。like thatとスライド値に応じてぼかし効果を制御しています。私はコーディングにObjectivc-Cを使用しています。私はそれをどうすればいいのですか?iOSビデオの背景ぼかしを作成する
あなたはこのコードを使用しようとすると、マスクのぼかしビューが必要になります。
@interface ViewController()
@property UISlider *slider;
@property UIVisualEffectView *visualEffectView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//VisableRect = 100,100,200,200
//Add a backgroun picture
UIImageView* imageV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - 100)];
imageV.image = [UIImage imageNamed:@"test"];
[self.view addSubview:imageV];
_visualEffectView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]];
_visualEffectView.frame = imageV.frame;
_visualEffectView.alpha = 1.0;
[self.view addSubview:_visualEffectView];
//create path
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRect:imageV.bounds];
UIBezierPath *otherPath = [[UIBezierPath bezierPathWithRect:CGRectMake(100, 100, 200, 200)] bezierPathByReversingPath];
[maskPath appendPath:otherPath];
//set mask
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.path = maskPath.CGPath;
[_visualEffectView.layer setMask:maskLayer];
_slider = [[UISlider alloc] initWithFrame:CGRectMake(0, imageV.frame.size.height, 200, 20)];
_slider.minimumValue = 0;
_slider.maximumValue = 1;
_slider.value = 1;
[_slider addTarget:self action:@selector(updateValue:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_slider];
}
-(IBAction)updateValue:(id)sender{
float sVaLue = _slider.value;
_visualEffectView.alpha = sVaLue;
}
をして効果が、この絵のようなものです:
あなたは、マスク層のパスを変更することができますあなたが望む任意のシェイプ、ビデオをぼかす必要がある場合は、必要なビューにimageVを変更します。
お手数ですがお手伝いします。
ありがとうございました。 – Rupshikha
まだいくつかの問題がありますか?@Rupshikha –
まだ試していません。私はそれが再生されるときにビデオフレームに応じて動的なぼかし効果が必要です。何か問題がある場合は、私に知らせてください。 – Rupshikha