Mam problem z rysowaniem linii, które są pogłaskane kolorem, a następnie wypełniają wnętrze (tworzą wielokąt) innym.Rysowanie wieloboku za pomocą jednego koloru dla obrysu i innego dla wypełnienia?
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);
Z CGContextStrokePath
zakomentowanym, otrzymuję ten wynik:
Ale gdybym odkomentowaniu CGContextStrokePath
i wypełnić wielokąt, kolor przelewa uderzeń:
Jak osiągnąć taki wynik (bez konieczności ponownej redakcji Procedura ole rysunek dwukrotnie):
Nie chcę brzmieć wymagająco, ale czy mógłbyś opracować kompletną odpowiedź, ponieważ nie wiem, dokąd powinieneś podążać 'CGContextDrawPath()'? –
Niestety, odpowiedź była krótka, ponieważ rozmawiam przez telefon :-) To połączenie zastępuje CGContextFillPath i ... StrokePath. –
To najlepsze rozwiązanie w tym przypadku. – alastair