2012-06-06 5 views
2

QuartzCore를 사용하여 구멍이있는 모양을 어떻게 그리겠습니까? 여기 QuartzCore : 구멍이있는 모양을 그립니까?

은 예입니다 enter image description here

이미 경로를 그리는 방법을 이해 :

CGMutablePathRef maskPath = CGPathCreateMutable(); 
CGPathMoveToPoint(maskPath, NULL, x1, y1); 
CGPathAddLineToPoint(maskPath, NULL, x2, y2); 
CGPathAddLineToPoint(maskPath, NULL, x3, y3); 
CGPathCloseSubpath(maskPath); 

을하고있는 UIView에 적용 :

CAShapeLayer *maskLayer = [CAShapeLayer layer]; 
maskLayer.frame = viewToMask.bounds; 
maskLayer.path = maskPath; 
viewToMask.layer.mask = maskLayer; 

하지만 난 전혀 아니다 센터에 구멍이있는 경로를 어떻게 만들 수 있는지. 어쨌든 경로에서 빼는 것이 필요한가요? 당신이 마스크 될 수있는 CAShapeLayer의 경로 속성으로 CGPath 설정되어 있기 때문에

+0

가능한 [Core Graphics, 타원형 투명 구멍이있는 사각형을 그리는 방법?] (http://stackoverflow.com/questions/6867300/core-graphics-how-to-draw-a-rectangle-with) -an-ellipse-transparency-hole) – Eimantas

+0

그 질문에 대한 대답이 확실하지 않습니다. 할 수있는 일이 올바른 사람은 그 답을 더 자세히 설명 할 수 있습니까? – jadengeller

+0

도형에 CAShapeLayer 마스크가있는 구멍을 사용하기 때문에 [외부 경로를 검색하는 CAShapeLayer 자르기] (http://stackoverflow.com/q/10856353/608157)와 중복 될 수도 있습니다. –

답변