2013-04-20 2 views
0

AVMutableComposition을 사용하는 비디오에서 CATextLayer를 사용하여 텍스트를 설정 중이며 텍스트가 표시되고 있지만 화면에서 해당 위치를 설정할 수 없습니다 ...이 코드를 사용하면 텍스트가 표시되지만 왼쪽에 표시됩니다. 화면과는 아이폰에서 CATextLayer를 사용하여 비디오의 텍스트 위치를 설정하는 방법은 무엇입니까?

정말 솔루션 ..pls이 나를 도와 찾을 수 여기되지 강타 가지고

코드이 문제 야를 분류하는 데 도움이 할 수있는 일이 있습니까 ... 반으로 잘라됩니다 내가 사용하는 ...

AVAssetTrack * clipVideoTrack = [[videoAsset tracksWithMediaType : AVMediaTypeVideo] objectAtIndex : 0];

[compositionVideoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, videoAsset.duration) ofTrack:clipVideoTrack atTime:kCMTimeZero error:nil]; 

[compositionVideoTrack setPreferredTransform:[[[videoAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] preferredTransform]]; 

CGSize videoSize = [clipVideoTrack naturalSize]; 


UIImage *myImage = [UIImage imageNamed:[arrClipArt objectAtIndex:selectedClipArt.tag-200]];//<=======================code to set the Image using CALayer 
CALayer *aLayer = [CALayer layer]; 
aLayer.contents = (id)myImage.CGImage; 
aLayer.frame = CGRectMake(selectedClipArt.frame.origin.x-imgMovieThumbnail.frame.origin.x, selectedClipArt.frame.origin.y-imgMovieThumbnail.frame.origin.y, 400, 400); 
aLayer.opacity = 1.0; 
CALayer *parentLayer = [CALayer layer]; 
CALayer *videoLayer = [CALayer layer]; 
parentLayer.frame = CGRectMake(0, 0, videoSize.width, videoSize.height); 
videoLayer.frame = CGRectMake(0, 0, videoSize.width, videoSize.height); 
[parentLayer addSublayer:videoLayer]; 
[parentLayer addSublayer:aLayer]; 

CATextLayer *titleLayer = [CATextLayer layer];//<========code to set the text 
titleLayer.string = txtIntro.text; 
titleLayer.font = (__bridge CFTypeRef)(txtFont.text); 
titleLayer.fontSize = 100; 
//?? titleLayer.shadowOpacity = 0.5; 
titleLayer.alignmentMode = kCAAlignmentCenter; 
titleLayer.bounds = CGRectMake(400,0, 600, videoSize.height/2); //You may need to adjust this for proper display 

// titleLayer.frame = CGRectMake (100, 100, 50, 30); [parentLayer addSublayer : titleLayer];

+0

제발 나에게이 문제를 어떻게 해결할 수 있습니까? –

+0

이 링크에 내 질문을 참조하십시오 .http : //stackoverflow.com/questions/31780060/how-to-set-catextlayer-in-video-according-to-frame –

+0

아래 주어진 답변을 확인하고 설정 해보십시오 그것의 위치는 CGPointMake를 사용한다. –

답변

1

titleLayer의 위치를 ​​설정해보십시오.

titleLayer.position = CGPointMake (100,100); 

그리고 titleLayer.frame이 저에게 효과적이었습니다.

+0

CATextLayer 텍스트가 흐리게 표시됩니다. –

관련 문제