나는 다음과 같은 코드를 사용하여 코어 애니메이션 레이어에서있는 UIImage를 만들 수 있어요 :CAShaperLayer -renderInContext가 작동하지 않습니까?
- (UIImage*)contentsImage;
{
UIGraphicsBeginImageContext([self bounds].size);
[self renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
이 코드는 내의 CALayer 파생 클래스입니다. 내가 겪고있는 문제는 두 레이어의 자식 계층 인 두 개의 CAShapeLayers가 결과 이미지에 렌더링되지 않는다는 것입니다. 표준 CALayers를 자식으로 추가하면 잘 렌더링됩니다. Apple docs는 다음과 같이 말합니다 :
수신자와 하위 레이어 을 지정된 컨텍스트로 렌더링합니다.
또한 iPhone OS 2.0부터 사용할 수 있다고합니다. 내가 누락 된 것이 있는지 또는 레이더를 신고해야하는지 궁금합니다.
어린이 CAShapeLayers가 이미지에 그려지지 않도록 할 수있는 아이디어가 있으십니까?
감사합니다. 연계하여있는 UIView의 drawRect 기능을 사용할 때 나는 비슷한 문제로 실행,
**Important**: The Mac OS X v10.5 implementation of this method does not support the entire Core Animation composition model. QCCompositionLayer, CAOpenGLLayer, and QTMovieLayer layers are not rendered. Additionally, layers that use 3D transforms are not rendered, nor are layers that specify backgroundFilters, filters, compositingFilter, or a mask values. Future versions of Mac OS X may add support for rendering these layers and properties.
을 어쨌든 : 당신의 관련된 경우
흥미 롭습니다. Apple이 내가 제출 한 레이더에서 돌아올 것 인 지 궁금합니다. 나는 그것이 내용과 첫 번째 하위 계층 사이에서 합성된다는 것을 의미하는지조차 모르겠습니다. 방법? 나는 그것이 그것을 설명 할 것 인 것을 추측한다. 내가 그 권리를 읽고 있다면 그 내용의 일부가 아닌 것처럼 보입니다. –
어떤 언어로 업데이트 :? – gwdp