我一直在寻找在NSImage上投射内部发光(阴影)的方法。我已经登陆this topic了。本主题下给出的代码看起来很有希望。现在对我来说这是一个陌生的领域。无论如何,我坚持以下几行。
CGContextSetShadowWithColor(c,CGSizeMake(0,-1),innerShadowBlurRadius,CGColorGetConstantColor(kCGColorBlack));
更具体地说,我不太了解颜色部分。根据文档,最后一个术语是 CGColorRef ,我从未使用过。我想这是用于Quartz 2D绘图的颜色类型。换句话说,可以用Quartz 2D理解的语言指定颜色吗?无论如何,文档进一步表明有三种颜色常数。 kCGColorWhite , kCGColorBlack , kCGColorClear 。这是否意味着我不能在这方面指定RGB颜色?
感谢您的帮助。
答案 0 :(得分:0)
不,这不是它的意思,是的,你可以指定RGB值;可能只是没有你想象的方式。 Quartz使用称为CGColorSpaceRef
的东西,您可以将其视为多维 - 每个维度代表一个特定的颜色组件。一个例子是RGB颜色空间中的颜色,如三维(红色,绿色和蓝色)。每个组件的强度由浮点值表示,其范围和含义取决于所讨论的色彩空间。
这可以为您提供更加简洁的信息:
具体来看看:
CGColorCreateGenericRGB
Creates a color in the Generic RGB color space.
CGColorRef CGColorCreateGenericRGB(
CGFloat red,
CGFloat green,
CGFloat blue,
CGFloat alpha
);
以及Constant Colors