Dibuja un triángulo de color en ios

Quiero dibujar un triángulo con un color de línea determinado, grosor de línea y color de relleno. Pero algunos de cómo no consigo que el triángulo se llene correctamente. Cada vez que se llena todo el área alnetworkingedor del triángulo.

Este es mi código:

+ (UIImage *) drawColorTriangleWithBorderWidth:(int)Width Height:(int)Height R:(int)RG:(int)GB:(int)BA:(int)A BorderR:(int)BR BorderG:(int)BG BorderB:(int)BB BorderA:(int)BA Thickness:(CGFloat)thickness { if ( Width == 0 || Height == 0) return nil; float de = thickness/2.0; UIGraphicsBeginImageContext(CGSizeMake(Width+de, Height+de)); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextBeginPath(context); CGFloat rr = 1.0*R/255.0; if ( rr > 1.0) rr = 1.0; CGFloat gg = 1.0*G/255.0; if ( gg > 1.0) gg = 1.0; CGFloat bb = 1.0*B/255.0; if ( bb > 1.0) bb = 1.0; CGFloat aa = 1.0*A/100.0; if ( aa > 1.0) aa = 1.0; CGFloat brr = 1.0*BR/255.0; if ( brr > 1.0) brr = 1.0; CGFloat bgg = 1.0*BG/255.0; if ( bgg > 1.0) bgg = 1.0; CGFloat bbb = 1.0*BB/255.0; if ( bbb > 1.0) bbb = 1.0; CGFloat baa = 1.0*BA/100.0; if ( baa > 1.0) baa = 1.0; CGContextSetLineCap(context, kCGLineCapSquare); CGContextSetRGBFillColor(context, rr, gg, bb, aa); CGContextSetLineWidth(context, thickness); CGContextSetRGBStrokeColor(context, brr, bgg, bbb, baa); CGContextMoveToPoint(context, Width/2.0, de); CGContextAddLineToPoint(context, de, Height-de); CGContextAddLineToPoint(context, Width-de, Height-de); CGContextAddLineToPoint(context, Width/2.0, de); CGContextDrawPath(context, kCGPathFillStroke); UIImage * image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; } 

¿Quién puede ayudarme? Gracias.

Debe cerrar la ruta después de agregar las diferentes routes:

 CGContextMoveToPoint(context, Width/2.0, de); CGContextAddLineToPoint(context, de, Height-de); CGContextAddLineToPoint(context, Width-de, Height-de); CGContextClosePath(context); CGContextFillPath(context); 

Esto funciona utilizando el código publicado de OP:

 UIImage *image = [[self class] drawColorTriangleWithBorderWidth:100 Height:100 R:200 G:0 B:0 A:200 BorderR:0 BorderG:0 BorderB:200 BorderA:100 Thickness:3.0]; [UIImageJPEGRepresentation(image, 1.0) writeToFile:@"/Users/dan/Desktop/UIImage.jpg" atomically:YES]; 

Produciendo esta image:
introduzca la descripción de la imagen aquí