2012-03-30 20 views
6

'u kullanarak yarım daire nasıl çizebilirim Çekirdek Grafikler kullanarak bir yarım daire çizmeye çalışıyorum ve bazı renklerle dolduruyorum. CALayer kullanarak görüntü ile rengin yerini değiştirmek istiyorum. Herhangi biri nasıl yapılacağı konusunda yardımcı olabilir Teşekkürler!CoreGraphics

Kod burada gider.

CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetLineWidth(context, 2); 
CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor); 
CGContextMoveToPoint(context, 0, 500); 
CGContextAddArc(context, 60, 500, 50, 90, 180, 0); 
CGContextStrokePath(context); 
+1

Bu bağlantı size yardımcı olabilir: http://stackoverflow.com/questions/3729690/draw-part- of-a-daire ve ayrıca kontrol edin: http://stackoverflow.com/questions/2835448/how-to-draw-a-rounded-rectangle-in-core-graphics-quartz-2d – Devang

cevap

7

Sen radians değil derece açıları belirtmek gerekir. 180 derece = π radyan. sizin örnekte Yani: Ark başlar nerede çünkü ben de, başlangıç ​​noktası (... MoveToPoint) sağa 10 piksel taşındı

CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetLineWidth(context, 2); 
CGContextSetStrokeColorWithColor(context, [UIColor blueColor].CGColor); 
CGContextMoveToPoint(context, 10, 500); 
CGContextAddArc(context, 60, 500, 50, M_PI/2, M_PI, 0); 
CGContextStrokePath(context); 

Not.

-2

İhtiyacınız olanı, geçen gün bulduğum, bir grafik programında çizdikten sonra Çekirdek Grafik kodunu görselleştirmenizi sağlayan harika bir araçtır.

Onun adı verilen Boya Kodu.

+0

Özel oluşturmak için Piantcode kullanılabilir kontrolleri. Çalışma zamanında değiştirmek istediğim ark ortasında bir metin içeren dolu bir ark çizmek istiyorum. Etkili bir şekilde yeni bir kontrol. Can PaintCode bunu yapabilir mi? Web sitelerine bakarak çok açık değil mi? – OneGuyInDc

+0

Takın (demo) ve bakın. Bilmiyorum. – bandejapaisa

5

verilen cevaplar

PaintCode benim için iOS 7'de çalışmıyor!
Yüzde açısı olan bir daire oluşturmak için küçük bir kategori oluşturdum. Belki de kontrol etmek istersiniz.
Sadece bir yarım daire oluşturmak istiyorsanız, yine de metodu benimseyebilirsiniz. GitHub Link
Ve böyle onun bakmak nedir:
İşte olduğunu

persentage circle

+0

Harika iş !!! ... –

+0

Metin sonuçlarda gösterilmiyor. Metni görüntü bağlamında eklemediğini düşündüm, değil mi? –

0
CGPoint circleCenter = CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2); 

CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetLineWidth(context, 2); 
CGContextMoveToPoint(context, circleCenter.x, circleCenter.y); 


CGContextAddArc(context, circleCenter.x, circleCenter.y, 50, 90, 180, 0); 
CGContextAddLineToPoint(context, circleCenter.x, circleCenter.y); 
CGContextSetFillColorWithColor(context, [UIColor colorWithPatternImage:[UIImage imageNamed:@"add-icon.png"]].CGColor); 
CGContextFillPath(context); 

CGContextAddArc(context, circleCenter.x, circleCenter.y, 50, 180, 90, 0); 
CGContextAddLineToPoint(context, circleCenter.x, circleCenter.y); 
CGContextSetFillColorWithColor(context, [UIColor colorWithPatternImage:[UIImage imageNamed:@"appIcon_58.png"]].CGColor); 
CGContextFillPath(context); 
İlgili konular