Ios 如何在视频中根据帧设置CATextLayer?

Ios 如何在视频中根据帧设置CATextLayer?,ios,objective-c,iphone,avfoundation,calayer,Ios,Objective C,Iphone,Avfoundation,Calayer,我尝试了很多想法,但还没有成功,我的问题是,我有一个视频,我是提供了一个功能,写在视频上的文字,并拖放到视频上的文字现在我想设置CATextlayer视频与propper的位置是由用户设置的,但它没有显示在正确的位置,所以请帮助我 这是我用来做这件事的代码 CATextLayer *titleLayer = [CATextLayer layer];//<========code to set the text titleLayer.string = self.strText; titleL

我尝试了很多想法,但还没有成功,我的问题是,我有一个视频,我是提供了一个功能,写在视频上的文字,并拖放到视频上的文字现在我想设置CATextlayer视频与propper的位置是由用户设置的,但它没有显示在正确的位置,所以请帮助我

这是我用来做这件事的代码

CATextLayer *titleLayer = [CATextLayer layer];//<========code to set the text
titleLayer.string = self.strText;
titleLayer.font = (__bridge CFTypeRef)(self.fonts);;
titleLayer.fontSize = titleLayer.fontSize;
titleLayer.position = CGPointMake (titleLayer.fontSize,titleLayer.fontSize);
//?? titleLayer.shadowOpacity = 0.5;
titleLayer.alignmentMode = kCAAlignmentCenter;
titleLayer.bounds = CGRectMake(self.rectText.origin.x,self.rectText.origin.y-52, 480, 480); //You may need to adjust this for proper display

[titleLayer setBackgroundColor:[UIColor redColor].CGColor];
[parentLayer addSublayer:titleLayer]; //ONLY IF WE ADDED TEXT

CATextLayer*titleLayer=[CATextLayer层]// 您的代码看起来不错,但不确定提供的框架是否正确。如果您提供了正确的框架,请在最后添加以下代码:-

[titleLayer display];

现在就可以了

您的代码看起来不错,但不确定提供的框架是否正确。如果您提供了正确的框架,请在最后添加以下代码:-

[titleLayer display];

现在就可以了

解决了问题,请参见下面的代码。这在视频中运行良好

CATextLayer *titleLayer = [CATextLayer layer];
titleLayer.string = self.strText;
titleLayer.font = (__bridge CFTypeRef)(self.fonts);
titleLayer.fontSize = fontsize;
titleLayer.masksToBounds = NO;
titleLayer.foregroundColor = self.textColor.CGColor;
titleLayer.alignmentMode = kCAAlignmentCenter;
//[self.txtVideoText setBackgroundColor:[UIColor colorWithHue:255.0/255.0 saturation:255.0/255.0 brightness:255.0/255.0 alpha:0.4]];
//[self setAnchorPoint:self.txtVideoText.layer.anchorPoint forView:self.txtVideoText layer:titleLayer];
titleLayer.anchorPoint = CGPointMake(0.5, 0.5);
titleLayer.frame = CGRectMake(xx,-(yy-CGRectGetHeight(self.viewHeader.frame)), 480, 480); //You may need to adjust this for proper display
[parentLayer addSublayer:titleLayer]; //ONLY IF WE ADDED TEXT

解决了问题,请参阅下面的代码。这在视频中运行良好

CATextLayer *titleLayer = [CATextLayer layer];
titleLayer.string = self.strText;
titleLayer.font = (__bridge CFTypeRef)(self.fonts);
titleLayer.fontSize = fontsize;
titleLayer.masksToBounds = NO;
titleLayer.foregroundColor = self.textColor.CGColor;
titleLayer.alignmentMode = kCAAlignmentCenter;
//[self.txtVideoText setBackgroundColor:[UIColor colorWithHue:255.0/255.0 saturation:255.0/255.0 brightness:255.0/255.0 alpha:0.4]];
//[self setAnchorPoint:self.txtVideoText.layer.anchorPoint forView:self.txtVideoText layer:titleLayer];
titleLayer.anchorPoint = CGPointMake(0.5, 0.5);
titleLayer.frame = CGRectMake(xx,-(yy-CGRectGetHeight(self.viewHeader.frame)), 480, 480); //You may need to adjust this for proper display
[parentLayer addSublayer:titleLayer]; //ONLY IF WE ADDED TEXT

解决了问题,请参阅下面的代码。这与视频配合得很好

CGFloat stickerX = (videoSize.width * (newsticker.frame.origin.x+imageView2.frame.origin.x))/_StickerView.frame.size.width;
CGFloat stickerY = (videoSize.height * (newsticker.frame.origin.y+imageView2.frame.origin.y))/_StickerView.frame.size.height;

titleLayer.frame = CGRectMake(stickerX,-(StickerY-CGRectGetHeight(self.viewHeader.frame)), 480, 480); //You may need to adjust this for proper display

解决了问题,请参阅下面的代码。这与视频配合得很好

CGFloat stickerX = (videoSize.width * (newsticker.frame.origin.x+imageView2.frame.origin.x))/_StickerView.frame.size.width;
CGFloat stickerY = (videoSize.height * (newsticker.frame.origin.y+imageView2.frame.origin.y))/_StickerView.frame.size.height;

titleLayer.frame = CGRectMake(stickerX,-(StickerY-CGRectGetHeight(self.viewHeader.frame)), 480, 480); //You may need to adjust this for proper display

不工作,我在iPhone 5中测试了这个,我的视频屏幕是320*320正方形,视频大小是480*480,se请建议我们是否需要添加更多内容。不工作,我在iPhone 5中测试了这个,我的视频屏幕是320*320正方形,视频大小是480*480,se请建议我们是否需要添加更多内容。