【问题标题】:CGContextSetShadowWithColor and Shadow ColorCGContextSetShadowWithColor 和阴影颜色
【发布时间】:2013-11-11 01:12:16
【问题描述】:

我一直在寻找一种在 NSImage 上投射内发光(阴影)的方法。我已经登陆this topic。本主题下给出的代码看起来很有希望。现在对我来说这是一个陌生的领域。无论如何,我坚持以下行。

CGContextSetShadowWithColor(c,CGSizeMake(0,-1),innerShadowBlurRadius,CGColorGetConstantColor(kCGColorBlack));

更具体地说,我不太了解颜色部分。根据文档,最后一个术语是 CGColorRef,我从未使用过。我想这是用于 Quartz 2D 绘图的颜色类型。换句话说,用 Quartz 2D 理解的语言指定颜色,也许?无论如何,文档进一步表明存在三个颜色常数。 kCGColorWhitekCGColorBlackkCGColorClear。这是否意味着我不能在这方面指定 RGB 颜色?

感谢您的帮助。

【问题讨论】:

    标签: objective-c macos cocoa osx-mountain-lion shadow


    【解决方案1】:

    不,这不是它的意思,是的,您可以指定 RGB 值;可能只是不像你想象的那样。 Quartz 使用称为CGColorSpaceRef 的东西,您可以将其视为多维——每个维代表一个特定的颜色分量。一个例子是 RGB 颜色空间中的颜色,作为三个维度(红色、绿色和蓝色)。每个分量的强度由浮点值表示,它们的范围和含义取决于所讨论的颜色空间。

    这应该会为您提供您正在寻找的更简洁的信息:

    https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CGColorSpace/Reference/reference.html#//apple_ref/doc/uid/TP30000949

    具体看一下:

    CGColorCreateGenericRGB
    
    Creates a color in the Generic RGB color space.
    
    CGColorRef CGColorCreateGenericRGB(
       CGFloat red,
       CGFloat green,
       CGFloat blue,
       CGFloat alpha
    );
    

    还有关于Constant Colors的部分

    【讨论】:

    • 我在答案中添加了更多内容 - 这可以帮助您更多地定义自己的 rgb 颜色值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    • 2015-07-14
    • 1970-01-01
    • 2011-12-19
    • 2017-07-26
    • 2018-12-02
    相关资源
    最近更新 更多