gpt4 book ai didi

objective-c - 在 macOS 上的其他进程窗口中绘图?

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

是否可以使用 Cocoa 或其他库在 MacOSX 上的其他进程窗口中进行绘制?
如果有,有 sample 吗?或者快速总结一下我必须做什么?
(我需要至少支持 OSX 10.5)

共享内存当然是一个可能的解决方案,但我更喜欢直接绘制以避免同步开销和代码重复(用例由一个生产者n个客户端组成)。

最佳答案

这是 Mac OS X: Can one process render to another process’s window? 的重复项
简短回答:如果您只需要支持 >=10.6,您可以使用 IOSurface API。
有关详细信息,请参阅这篇文章:Need help with IOSurface & OpenGL for max os x snow leopard application

如果您可以提供有关您尝试实现的目标的更多详细信息,可能还有其他一些解决方案。 (例如,将您想要渲染的内容合成到来自 CGWindowListCreateImage 的图像上)

编辑:
在我看来,完成你想要的事情的最简单方法是使用某种共享内存。
您可以使用 mmap 将要可视化的数据映射到内存中并在您的应用程序之间共享绘图代码。

编辑2:我刚刚看到你想避免共享内存。但为什么呢?

关于objective-c - 在 macOS 上的其他进程窗口中绘图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1939682/

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