2014-02-20 2 views
1

AV Foundation을 사용하고 있으며 주 레이어와 하위 레이어를 만들었습니다. 메인 레이어는 사용자가 사진을 찍기 전에 카메라가 보는 것의 라이브 "미리보기"를 표시합니다. 사용자가 사진을 찍은 후 하위 레이어의 contents 속성 값을 캡처 한 사진에 설정하려고합니다. 하위 계층의 내용을 설정하는 것을 제외하면 모든 것이 완벽하게 작동합니다.CALayer의 "내용"속성을 캡처 된 사진으로 변경하는 중 문제가 발생했습니다.

푸른 색 배경색을 줄 수 있기 때문에 하위 계층이 작동하는 것을 알고 있습니다. 응용 프로그램에서 사진을 찍으면 하위 계층이 파란색으로 바뀝니다. 여기

내가 캡처 한 이미지로 하위 계층을 설정하려고 내 코드입니다 : 나는이 같은 계층의 내용의 속성을 설정하는 여러 가지 방법을 시도

NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer]; 


UIImage *image = [[UIImage alloc]initWithData:imageData]; 


CALayer *subLayer = [CALayer layer]; 


subLayer.contents = (id)[UIImage imageWithData:imageData]; 


subLayer.frame = _previewLayer.frame; 


[_previewLayer addSublayer:subLayer]; 

,하지만 그들 중 누구도 작동하지 : subLayer.backgroundColor = [UIColor blueColor].CGColor;

: 또한

subLayer.contents = (id) [UIImage imageWithData:imageData]; 

subLayer.contents = [UIImage imageWithData:imageData]; 

subLayer.contents = image; 

, 내가 알고있는 계층이 설정 내가이 문을 추가하면 내가 사진을 찍을 때 완전히 파란색 계층을 설정하기 때문에 적절하다

어떻게 하위 레이어를 업데이트하고 캡처되는 사진을 표시 할 수 있는지 아이디어가 있습니까?

답변

0

어색한데 imageWithData 메서드 호출에 .CGImage를 추가하려고 시도했지만 현재 작동 중입니다. 나는 그것이 xcode 문서의 요구 사항으로 나열 되었으면 좋겠다.

관련 문제