2012-04-16 21 views
7

如何設置UIColor值成CGContextSetRGBStrokeColor如何設置的UIColor值要CGContextSetRGBStrokeColor

//這是紅色,我設定爲CGContextSetRGBStrokeColor CGContextSetRGBStrokeColor(contextRef,1,0,0,1.00f);

現在我確實有UIColor,它具有RGB值,我需要將此值設置爲CGContextSetRGBStrokeColor

任何一個建議我如何設置UIColor值的CGContextSetRGBStrokeColor

回答

9
CGFloat red, green, blue, alpha; 
[color getRed:&red green:&green blue:&blue alpha:&alpha]; 
CGContextSetRGBStrokeColor(contextRef, red, green, blue, alpha); 
+0

這是爲什麼downvoted?這是問題的答案。 – shapecatcher 2012-05-18 15:07:00

13

備選:

CGContextSetStrokeColorWithColor(context, [[UIColor greenColor] CGColor]); 

// or 
[[UIColor colorWithRed:1.0f green:0.0f blue:0.0f alpha:1.0f] CGColor]; 
1

對於懶:

let myUIColor = UIColor.purpleColor() 
var r:CGFloat, g:CGFloat, b:CGFloat, a:CGFloat = 0 
myUIColor.getRed(&r, green: &g, blue: &b, alpha: &a) 
CGContextSetRGBStrokeColor(c, r, g, b, a) 

// or 
CGContextSetStrokeColorWithColor(myUIColor.CGColor); 

#SwiftStyle

+0

使用'CGContextSetStrokeColorWithColor(myUIColor.CGColor)'時不需要設置上下文嗎? – Crashalot 2016-01-18 07:18:18

0

在SWIFT 3.0

let context = UIGraphicsGetCurrentContext() 
context!.setStrokeColor(red: 1,green: 1,blue: 1,alpha: 1) 

或者你可以SER顏色如下

context!.setStrokeColor(UIColor.red.cgColor)//or any UIColor