【问题标题】:ObjC/Cocoa: Get fill color property of current graphics contextObjC/Cocoa:获取当前图形上下文的填充颜色属性
【发布时间】:2012-07-18 01:28:37
【问题描述】:

我在 Cocoa 文档中转了一圈,但找不到这个问题的答案。

我可以通过向 NSGraphicsContext 类发送“currentContext”消息来检索当前图形上下文。我还可以通过向 NSColor 对象发送“设置”消息来设置当前上下文的填充颜色。

但是,在发送集合之后,我将如何从当前上下文中检索该值。设置填充颜色的“set”的等效“get”消息是什么?

我认为这将是 NSGraphicsContext 对象上的实例方法,但我找不到该方法(或该对象的几乎任何 getter)。

非常感谢您的帮助!

【问题讨论】:

    标签: objective-c cocoa


    【解决方案1】:

    您不会获得有关当前图形上下文状态的详细信息。相反,在您进行任何更改之前,您使用saveGraphicsState 将图形上下文状态保存到每个线程堆栈。然后,当您完成后,您使用restoreGraphicsState 检索先前的状态。

    【讨论】:

    • 但我需要有关当前图形上下文状态的详细信息。
    • @claytontstanley:目的是什么?
    • drawAtPoint:withAttributes: ;使用当前图形上下文填充颜色绘制字符串。
    • @claytontstanley:您可以通过使用 Core Text 和 its kCTForegroundColorFromContextAttributeName attribute 来做到这一点。 (您可以尝试将属性与 Cocoa 文本绘图一起使用,但这不能保证有效。)
    • 那么,没有办法从这个“上下文”中“提取”CGColorRefNSColor?似乎有……但是“某人”希望我们只是“闭嘴并使用CoreText”,嗯?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-03
    • 2021-11-18
    • 2019-09-03
    • 1970-01-01
    • 2014-10-27
    • 2012-08-27
    相关资源
    最近更新 更多