私は、色で描かれたいくつかの線を描画し、次にそれらの内部(ポリゴンを作る)を別のもので塗りつぶすのに問題があります。コメントアウトCGContextStrokePath
でストローク用に1色、塗りつぶし用に1色のポリゴンを描画しますか?
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);
、私はこの結果を得る:
をしかし、私はCGContextStrokePath
のコメントを解除し、ポリゴンを記入した場合、色はストロークをオーバーフロー:
どのようにしてこのような結果が得られますか(whをやり直す必要はありません(それはそれの作業が行われることを期待)
「CGContextDrawPath()」はどこに行かなくてはいけないのか分かりませんが、私は厳しい要求はしたくありませんが、完全な答えを出すために精巧にできますか? –
申し訳ありませんが、私は電話のために答えがとても短かったです:-)その呼び出しは、CGContextFillPathと... StrokePathの両方を置き換えます。 –
これはこの場合の最適な解決策です。 – alastair