Ho problemi con il disegno di linee che sono accarezzate con un colore e quindi riempiendo le parti interne (fanno un poligono) con un altro.Disegnare un poligono con un colore per il tratto e uno diverso per il riempimento?
UIColor *houseBorderColor = [UIColor colorWithRed:(170/255.0) green:(138/255.0) blue:(99/255.0) alpha:1];
CGContextSetStrokeColorWithColor(context, houseBorderColor.CGColor);
CGContextSetLineWidth(context, 3);
// Draw the polygon
CGContextMoveToPoint(context, 20, viewHeight-19.5);
CGContextAddLineToPoint(context, 200, viewHeight-19.5); // base
CGContextAddLineToPoint(context, 300, viewHeight-119.5); // right border
CGContextAddLineToPoint(context, 120, viewHeight-119.5);
CGContextAddLineToPoint(context, 20, viewHeight-19.5);
// Fill it
CGContextSetRGBFillColor(context, (248/255.0), (222/255.0), (173/255.0), 1);
//CGContextFillPath(context);
// Stroke it
CGContextStrokePath(context);
Con il CGContextStrokePath
commentata, ottengo questo risultato:
Ma se io Decommentare CGContextStrokePath
e compilare il poligono, il colore trabocca i colpi:
Come si ottiene un risultato come questo (senza dover ripetere il wh Procedura di disegno ole due volte):
Non voglio sembrare impegnativo, ma potresti eventualmente elaborare una risposta completa, perché non riesco a capire dove dovrebbe andare il 'CGContextDrawPath()'? –
Scusa, la risposta è stata così breve perché sono al telefono :-) Questa chiamata sostituisce sia CGContextFillPath che ... StrokePath. –
Questa è la soluzione migliore in questo caso. – alastair