0

特定の角度に基づいて三角形を描画する次のコードがあります。
この形状を線形 (水平) グラデーションで塗りつぶすにはどうすればよいですか?

- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();

    // Create Lines
    CGPoint startPt = CGPointMake(self.frame.size.width / 2.0, self.frame.size.height);

    CGContextSetLineWidth(context, width_);
    CGContextMoveToPoint(context, self.center.x, self.center.y);
    CGPoint addLines[] =
    {
        startPt,
        CGPointMake(radius_ * cos(angle_) + startPt.x, radius_ * sin(angle_) + startPt.y),
        CGPointMake(radius_ * cos(angle_) + startPt.x, startPt.y),
        startPt
    };

    CGContextAddLines(context, addLines, sizeof(addLines)/sizeof(addLines[0]));
    CGContextStrokePath(context);
}
4

1 に答える 1

0

シェイプをクリッピング パスとして使用し、シェイプのバウンディング ボックスをグラデーションで塗りつぶします。その後ストロークします。

于 2012-12-13T18:36:52.740 に答える