2012-02-29 15 views
7

CGContext kullanarak bazı çizim yapıyorum.CGContext bir CGPathRef ile maskeleme?

UIImage * myImage = [UIImage imageNamed:@"frame.png"]; 
CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextClipToMask(context, self.view.bounds, myImage.CGImage); 

Bu iyi çalışır, ama şimdi benim maske olarak varolan CGPathRef kullanmak istiyorum: Şu anda böyle bir png dosyası kullanarak çizim maskeleme ediyorum. CGPathRef'i bir UIImage'a dönüştürmeyi ve yukarıdaki gibi maskelemeyi mi görünmeliyim? Eğer öyleyse dönüştürme işlemini nasıl yaparım? -OR- Buna yaklaşmanın daha iyi bir yolu var mı?

cevap

10
CGContextAddPath(context, yourPath); 
CGContextClip(context); 
+1

Bu, rects ve ellipse için iyi çalışır. Ancak, yol addArcWithCenter: radius: ile oluşturulduysa benim için çalışmaz. Ve tutmak için sadece bir piksel çizgisine ihtiyacım olduğunda. –

+0

Kesilmesini istemediğimizde ne yapmalıyız? Örneğin, bir görüntü üzerinde özel bir yolu, yol sınırlarına kırpmadan maskelemek istiyorsak? @cxa –

İlgili konular