2013-02-27 126 views
0

我想用填充顏色製作圓。這是我的代碼:將顏色添加到矩形

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

回答

3

石英命令要求顏色參數在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);