【问题标题】:Why CGContextSetFillColorWithColor filling wrong color in a rectangle area in ios为什么CGContextSetFillColorWithColor在ios中的矩形区域填充错误的颜色
【发布时间】:2014-05-22 10:53:35
【问题描述】:

在其中一个应用程序中,我使用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)

【问题讨论】:

  • 您是否尝试过记录 r、g、b 值?可能是它们没有按预期值出现,有时它们都出现为 0,导致 UIColor 设置为黑色?

标签: ios objective-c cgcolor


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多