将颜色添加到矩形

问题描述:

我想用填充颜色制作圆。这是我的代码:将颜色添加到矩形

context = UIGraphicsGetCurrentContext(); 
    CGContextSetLineWidth(context, 2.0); 
    CGContextSetRGBStrokeColor(context, 0, 34, 102, 1); 
    CGContextSetRGBFillColor(context, 135, 206, 250, 0.5); 
    rectangle = CGRectMake(1, 1, 500, 500); 
    CGContextAddArc(context, pointWhereUserClickedX, pointWhereUserClickedY, 50, 0, 2*3.14159265359, YES); 
    CGContextDrawPath(context, kCGPathFillStroke); 

当我运行它,填充颜色是白色的,即使我已经充满了蓝色。我有同样的问题时,我想补充一个背景矩形后面两个“塔”矩形:

context = UIGraphicsGetCurrentContext(); 

//Background styling 
CGContextSetRGBFillColor(context, 202, 255, 112, 1); 

//Background setup 
background = CGRectMake(1, 1, 1024, 786);    
CGContextAddRect(context, background); 
CGContextDrawPath(context, kCGPathFill); 

//Styling 
CGContextSetLineWidth(context, 2.0); 
CGContextSetRGBStrokeColor(context, 0, 0, 225, 1); 
CGContextSetRGBFillColor(context, 0, 0, 225, 1); 

//first tower setup 
firstTower = CGRectMake(20, 20, 25, 100); 
CGContextAddRect(context, firstTower); 

//second tower setup 
secondTower = CGRectMake(20, 800, 25, 100); 
CGContextAddRect(context, secondTower); 

//Draw towers 
CGContextDrawPath(context, kCGPathFillStroke); 

当我添加了背景颜色,我依然看不到任何变化。这只是白色的,所以我想这跟圆圈一样是个问题。第二座塔也没有显示出来。

有什么不对?或者我错过了什么?

+0

阅读'CGContextSetRGBFillColor'的文档,看看参数值应该是。 – rmaddy 2013-02-27 23:49:50

石英命令要求颜色参数在0和1(浮点数)的范围内。这条线在这里(的其他与之类似):

CGContextSetRGBFillColor(context, 135, 206, 250, 0.5);

实际上应该是:

CGContextSetRGBFillColor(context, 135.0/255.0, 206.0/255.0, 250.0/255.0, 0.5);