【问题标题】:NSBezierPath to NSImage in order to avoid CoreAnimationNSBezierPath 到 NSImage 以避免 CoreAnimation
【发布时间】:2010-11-08 18:54:18
【问题描述】:

我有一个应用目前有这条线:

[myView setWantsLayer:YES];

为了通过 NSBezierPath 绘制一个 GUI 元素。此行是必需的,否则当用户键入相邻(且重叠)的 NSTextField 时,myView 的内容会颤抖。

我发现调用 CoreAnimation 会加载 OpenGL 框架,但不会卸载它。 this question.

我想我可以通过将 NSBezierPath 绘制到 NSImage 然后显示 NSImage 来代替 NSBezierPath 来解决这个问题,但我还没有找到一个向我展示如何处理此问题的来源。


编辑:

我应该注意,我想在 NSBezierPath 显示之前保存这个 - 所以draw an existing view to an NSImage 的解决方案没有用。


问题:

有人能指出将 NSBezierPath 转换为 NSImage 的正确方向吗?

【问题讨论】:

    标签: cocoa core-animation core-graphics bezier nsimage


    【解决方案1】:

    你可以直接在 NSImage 中绘制任何东西,也可以创建一个空白的 NSImage。因此,创建一个大小为路径边界大小的图像,平移路径使其位于图像的原点,然后将焦点锁定在图像上,绘制路径并解锁焦点。

    【讨论】:

    • 太好了。我之前没有成功这样做,因为我正在寻找一种特定的贝塞尔方法。再次感谢彼得!
    猜你喜欢
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多