我想制作一个填充颜色的圆圈。这是我的代码:
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 :(得分:3)
Quartz命令要求颜色参数在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);