Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何绘制具有径向渐变的扇区(iphone)_Iphone_Objective C_Core Graphics - Fatal编程技术网

如何绘制具有径向渐变的扇区(iphone)

如何绘制具有径向渐变的扇区(iphone),iphone,objective-c,core-graphics,Iphone,Objective C,Core Graphics,如何在objective c Core图形中绘制具有径向渐变的扇形填充圆弧 我用 但它画了一个圆圈。 这将是很好的,如果你告诉我如何填补任何形状的径向梯度。谢谢,在当前上下文中添加一个定义所需形状的路径,并在绘制之前剪裁上下文。示例代码: - (void)drawRect:(CGRect)rect { CGPoint c = self.center ; // Drawing code CGContextRef cx = UIGraphicsGetCurrentContex

如何在objective c Core图形中绘制具有径向渐变的扇形填充圆弧 我用

但它画了一个圆圈。
这将是很好的,如果你告诉我如何填补任何形状的径向梯度。谢谢,在当前上下文中添加一个定义所需形状的路径,并在绘制之前剪裁上下文。示例代码:

- (void)drawRect:(CGRect)rect
{
    CGPoint c = self.center ;
    // Drawing code
    CGContextRef cx = UIGraphicsGetCurrentContext();

    CGContextSaveGState(cx);
    CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();

    CGFloat comps[] = {1.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0};
    CGFloat locs[] = {0,1};
    CGGradientRef g = CGGradientCreateWithColorComponents(space, comps, locs, 2);


    CGMutablePathRef path = CGPathCreateMutable();
    CGPathMoveToPoint(path, NULL, c.x, c.y);
    CGPathAddLineToPoint(path, NULL, c.x, c.y-100);
    CGPathAddArcToPoint(path, NULL, c.x+100, c.y-100, c.x+100, c.y, 100);
    CGPathAddLineToPoint(path, NULL, c.x, c.y);

    CGContextAddPath(cx, path);
    CGContextClip(cx);

    CGContextDrawRadialGradient(cx, g, c, 1.0f, c, 320.0f, 0);

    CGContextRestoreGState(cx);   
    ... // Do some more drawing may be
}

向定义所需形状的当前上下文添加路径,并在绘制之前剪裁上下文。示例代码:

- (void)drawRect:(CGRect)rect
{
    CGPoint c = self.center ;
    // Drawing code
    CGContextRef cx = UIGraphicsGetCurrentContext();

    CGContextSaveGState(cx);
    CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();

    CGFloat comps[] = {1.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0};
    CGFloat locs[] = {0,1};
    CGGradientRef g = CGGradientCreateWithColorComponents(space, comps, locs, 2);


    CGMutablePathRef path = CGPathCreateMutable();
    CGPathMoveToPoint(path, NULL, c.x, c.y);
    CGPathAddLineToPoint(path, NULL, c.x, c.y-100);
    CGPathAddArcToPoint(path, NULL, c.x+100, c.y-100, c.x+100, c.y, 100);
    CGPathAddLineToPoint(path, NULL, c.x, c.y);

    CGContextAddPath(cx, path);
    CGContextClip(cx);

    CGContextDrawRadialGradient(cx, g, c, 1.0f, c, 320.0f, 0);

    CGContextRestoreGState(cx);   
    ... // Do some more drawing may be
}

嗨,弗拉迪玛,这是一幅如此伟大的画。嗨,弗拉迪玛,这是一幅如此伟大的画。我需要帮助绘制一个类似的梯度,但在一个矩形。我有一个矩形区域是黑色的,我需要一个灰色来从UIView的中心径向开始。我真的很感激你的帮助。@Shukaku,我不确定,但不会只是剪辑到你的矩形区域工作吗?会的,它确实做到了。我问这个问题太愚蠢了。谢谢你的回复!如果你有时间,请你看一下这个:嗨,弗拉迪玛,这是一幅如此伟大的画。嗨,弗拉迪玛,这是一幅如此伟大的画。我需要帮助绘制一个类似的梯度,但在一个矩形。我有一个矩形区域是黑色的,我需要一个灰色来从UIView的中心径向开始。我真的很感激你的帮助。@Shukaku,我不确定,但不会只是剪辑到你的矩形区域工作吗?会的,它确实做到了。我问这个问题太愚蠢了。谢谢你的回复!如果您有时间,请看一下: