web-dev-qa-db-ja.com

RGB値からcgcolorを取得するにはどうすればよいですか?

RGBの境界色として使用するCGColorを使用して、カスタムSwiftUIButtonを作成しようとしています。私は次のコードを試しましたが、色は見えません:

var red = UIColor(red: 100.0, green: 130.0, blue: 230.0, alpha: 1.0)
self.layer.borderColor = red.CGColor

RGB値から直接CGColorを作成する方法はありますか?

27
alionthego

0〜1.0の値を指定する必要があります。したがって、RGB値を255で割ります。

コードを

var red = UIColor(red: 100.0/255.0, green: 130.0/255.0, blue: 230.0/255.0, alpha: 1.0)
self.layer.borderColor = red.CGColor
66
Shruti

Swift 3:

avLayer.backgroundColor = UIColor.red.CGColor
6
Mick Stupp

Mac OS XにはCGColorCreateGenericRGB()がありますが、iOSには存在しません。ただし、適切なパラメーターでCGColorCreateを使用できます。

self.layer.borderColor = CGColorCreate(CGColorSpaceCreateDeviceRGB(), [1.0, 0.5, 0.5, 1.0])

配列内の値は、出現順に赤、緑、青、およびアルファです。 UIColorのように:)

https://developer.Apple.com/library/ios/documentation/GraphicsImaging/Reference/CGColor/#//Apple_ref/c/func/CGColorCreate

6
Romain
UImage *newImage = [self imageWithColor:[UIColor colorWithRed:200/255. green:228/255. blue:194/255. alpha:0.99]];
1
Usharao

必要なのはborderWidthを設定することだけです。デフォルトでは0なので、表示されません:

self.layer.borderWidth = 1.0

cornerRadiusを丸めておく必要がある場合に設定できる場合に備えて...役に立つかもしれません;-)

self.layer.cornerRadius = 4.0
0
Matteo Piombo