为什么CGContextSetFillColorWithColor在ios的矩形区域中填充错误的颜色

时间:2014-05-22 10:53:35

标签: ios objective-c cgcolor

在其中一个应用程序中,我使用CGContextSetFillColorWithColor填充矩形区域中的颜色。它工作正常并填充适当的颜色,但有时它会填充黑色。我不知道这个问题背后的原因。

代码:

rectangle = CGRectMake(x,y, width, 187/[appDelegate.result count]);

        CGContextAddRect(context, rectangle);
        CGContextStrokePath(context);


        NSMutableParagraphStyle* p = [NSMutableParagraphStyle new];
        p.alignment = NSTextAlignmentCenter;
     //   p.lineBreakMode=NSLineBreakByWordWrapping;

        UIColor *color1 = [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1.0];
        NSLog(@"color is %@",color1.CGColor);

       CGContextSetFillColorWithColor(context,color1.CGColor);


        //CGContextSetFillColor(context, CGColorGetComponents(color1.CGColor));
        NSLog(@"rectangle is %f",rectangle.size.height);
        CGContextFillRect(context, rectangle);

记录消息:颜色为:

<CGColor 0xc216020> [<CGColorSpace 0xc0124b0> (kCGColorSpaceDeviceRGB)] ( 0.933333 0 0 1)

2 个答案:

答案 0 :(得分:0)

您的r,g,b变量是否设置正确?如果发生黑色填充,请尝试调试它们。 我不知道它是否有帮助,但我更喜欢使用[color1 setFill];

答案 1 :(得分:0)

当你填充Rect上下文时,你应该关闭你的路径!尝试关闭路径,然后d