簡體   English   中英

如何從 RGB 值中獲取 CGColor?

[英]How can I obtain a CGColor from RGB values?

我正在嘗試使用 Swift 創建自定義 RGB CGColor以用作UIButton的邊框顏色。 我試過下面的代碼,但顏色不可見:

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

有沒有辦法直接從 RGB 值創建CGColor

您必須給出介於 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

您可以在 Swift 3 中將其縮減為一行:

avLayer.backgroundColor = UIColor.red.CGColor

在 Mac OS X 上有CGColorCreateGenericRGB() ,但它在 iOS 上不存在。 不過,您可以使用具有適當參數的CGColorCreate

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

數組中的值按出現順序為:紅色、綠色、藍色和 alpha。 就像UIColor :)

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

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

也許您只需要設置borderWidth ,默認情況下它是 0,所以它不可見:

self.layer.borderWidth = 1.0

以防萬一你可以設置cornerRadius如果你需要它圓角......可能會有用;-)

self.layer.cornerRadius = 4.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM