1
我使用CoreGraphics繪製了兩個Quadrilaterals(4邊)形狀的路徑。共有6個點,path1使用前4個點,path2使用最後4個點,因此共享2個點。CoreGraphics - 在兩個四邊形之間形成可見的間隙形狀路徑
的代碼如下
- (void)drawRect:(CGRect)rect {
CGPoint topLeft = CGPointMake(121, 116);
CGPoint topRight = CGPointMake(221, 216);
CGPoint middleLeft = CGPointMake(121, 180);
CGPoint middleRight = CGPointMake(221, 280);
CGPoint bottomLeft = CGPointMake(121, 244);
CGPoint bottomRight = CGPointMake(221, 344);
CGMutablePathRef subpath1 = CGPathCreateMutable();
CGPathMoveToPoint(subpath1, NULL, topLeft.x, topLeft.y);
CGPathAddLineToPoint(subpath1, NULL, topRight.x, topRight.y);
CGPathAddLineToPoint(subpath1, NULL, middleRight.x, middleRight.y);
CGPathAddLineToPoint(subpath1, NULL, middleLeft.x, middleLeft.y);
CGPathAddLineToPoint(subpath1, NULL, topLeft.x, topLeft.y);
CGMutablePathRef subpath2 = CGPathCreateMutable();
CGPathMoveToPoint(subpath2, NULL, middleLeft.x, middleLeft.y);
CGPathAddLineToPoint(subpath2, NULL, middleRight.x, middleRight.y);
CGPathAddLineToPoint(subpath2, NULL, bottomRight.x, bottomRight.y);
CGPathAddLineToPoint(subpath2, NULL, bottomLeft.x, bottomLeft.y);
CGPathAddLineToPoint(subpath2, NULL, middleLeft.x, middleLeft.y);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [UIColor colorWithRed:0.19 green:0.42 blue:0.09 alpha:1.0].CGColor);
CGContextSetBlendMode(context, kCGBlendModeMultiply);
CGContextSetAlpha(context, 1.0);
CGContextAddPath(context, subpath1);
CGContextFillPath(context);
CGContextAddPath(context, subpath2);
CGContextFillPath(context);
}
輸出圖像是
但在屏幕有一個奇數白線出現在接合邊緣。我想刪除白線。
任何人都可以幫助如何避免這條白線?
但是,如果你想用不同的顏色填充兩個形狀,那麼呢? – sabiland