ios 如何从 RGB 值中获取 cgcolor?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/29466582/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
how can i obtain a cgcolor from RGB values?
提问by alionthego
I'm trying to create a custom RGB
CGColor
using swift
to use as a border color for a UIButton
. I've tried following code but the color is not visible:
我试图创建一个自定义RGB
CGColor
使用swift
的边框颜色的使用UIButton
。我试过下面的代码,但颜色不可见:
var red = UIColor(red: 100.0, green: 130.0, blue: 230.0, alpha: 1.0)
self.layer.borderColor = red.CGColor
Is there any way to create a CGColor
directly from RGB values?
有没有办法CGColor
直接从RGB值创建一个?
回答by Shruti
You have to give the values between 0 and 1.0. So divide the RGB values by 255.
您必须给出介于 0 和 1.0 之间的值。因此,将 RGB 值除以 255。
Change Your code to
将您的代码更改为
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
回答by Mick Stupp
You can get that down to one line in Swift 3:
您可以在 Swift 3 中将其缩减为一行:
avLayer.backgroundColor = UIColor.red.CGColor
回答by Romain
On Mac OS X there is CGColorCreateGenericRGB()
, but it doesn't exist on iOS. You can use CGColorCreate
with appropriate parameters, though.
在 Mac OS X 上有CGColorCreateGenericRGB()
,但在 iOS 上不存在。不过,您可以使用CGColorCreate
适当的参数。
self.layer.borderColor = CGColorCreate(CGColorSpaceCreateDeviceRGB(), [1.0, 0.5, 0.5, 1.0])
The values in the array are, in order of appearance: red, green, blue, and alpha. Just like UIColor
:)
数组中的值按出现顺序为:红色、绿色、蓝色和 alpha。就像UIColor
:)
回答by Usharao
UImage *newImage = [self imageWithColor:[UIColor colorWithRed:200/255. green:228/255. blue:194/255. alpha:0.99]];
回答by Matteo Piombo
Maybe all you need is set the borderWidth
, by default it is 0, so it is not visible:
也许您只需要设置borderWidth
,默认情况下它是 0,所以它不可见:
self.layer.borderWidth = 1.0
Just in case you can set the cornerRadius
if you need it rounded ... might be useful ;-)
以防万一你可以设置cornerRadius
如果你需要它四舍五入......可能会有用;-)
self.layer.cornerRadius = 4.0