我已经尝试了很多想法,但还没有成功,我的问题是,我有一个视频,我提供了一个功能,以编写文本的视频和拖/删除的视频现在我想设置的CATextlayer在视频上的位置是由用户设定,但它没有显示在适当的位置,所以请帮助我。
这是我用来做这个的代码。
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发布于 2015-08-03 11:53:58
解决了这个问题,请参阅下面的代码。这在视频上运行得很好。
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发布于 2015-08-03 05:44:04
您的代码看起来不错,但不确定所提供的框架是错误的还是正确的。如果您提供了正确的框架,那么添加以下代码:-
[titleLayer display];现在就能用了!
发布于 2016-07-14 09:44:29
解决了这个问题,请参阅下面的代码。这个视频效果很好
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 displayhttps://stackoverflow.com/questions/31780060
复制相似问题