gpt4 book ai didi

objective-c - 将 NSView 绘制到 NSGraphicsContext 中?

转载 作者:行者123 更新时间:2023-12-03 17:26:59 26 4
gpt4 key购买 nike

我有一个 CGContext,我可以将其转换为 NSGraphicsContext。我有一个 NSWindow,其中有一个用于上下文的 ClipRect。

我想将 ScrollView 放入上下文中,然后将其他 View 放入 ScrollView 中,以便我可以将图像放入其中...但是,我不知道如何将 ScrollView 附加到上下文中。

最终 View 可能来自 Nib ,但我不明白这有什么关系。

我看过这个帖子,( http://lists.apple.com/archives/quartz-dev/2006/Nov/msg00010.html )但他们似乎省略了如何将 View 附加到上下文中的步骤,除非我明显遗漏了一些东西。

编辑:

我遇到这种情况的原因是我正在编写一个 Mozilla 插件。浏览器给我一个 CGContext (Quartz) 和一个 WindowRef (QuickDraw)。我可以将 CGContext 转换为 NSGraphicsContext,并且可以将 windowRef 转换为 NSWindow。从另一个数据结构我也有剪切矩形......

我正在尝试将图像绘制到该上下文中,并根据需要使用滚动条、按钮和其他 UI 元素...所以我需要(想要)一个 NSView...

最佳答案

您无法将 View 放入图形上下文中。 View 要么进入另一个 View ,要么作为窗口的内容 View 。

您可以通过将上下文设置为当前上下文并告诉 View 进行绘制来将 View 绘制到上下文中。您可能将其作为将 View 渲染为图像的一种方法,但除此之外,我想不出这样做的理由。 (编辑:好的,成为 Netscape 插件可能是一个很好的理由。)

通常, View 在 lockFocus 的 NSView 实现中获取自己的图形上下文。方法,由 display 为您调用,由 displayIfNeeded 为您调用(显然,仅当 View 需要显示时),它作为事件循环的一部分为您调用。

除非在极少数情况下,例如我提到的导出到图像的情况,否则您不需要为 View 创建上下文。通常,您让 View 自行处理该问题。

关于objective-c - 将 NSView 绘制到 NSGraphicsContext 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2344561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com