Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 哪些API适合在NSView中显示正常屏幕_Cocoa_Opengl_Core Graphics_Quartz 2d - Fatal编程技术网

Cocoa 哪些API适合在NSView中显示正常屏幕

Cocoa 哪些API适合在NSView中显示正常屏幕,cocoa,opengl,core-graphics,quartz-2d,Cocoa,Opengl,Core Graphics,Quartz 2d,哪个API适合在视图中显示正常屏幕?从概念上讲,我想拍摄通常为全屏的实时视频,并以类似于亭的模式在视图中显示它?对于公共API来说,这是否已经过时并且不可能了 如果您有任何建议或指示,我们将不胜感激。Core Graphics API提供了一组函数,可在每次新屏幕框准备就绪时调用块: CGDisplayStreamStart/CGDisplayStreamStop 您可以使用该API提供的IOSurface,并将其显示在您自己的信息亭窗口中 为CGDisplayStreamAPI提供一些示

哪个API适合在视图中显示正常屏幕?从概念上讲,我想拍摄通常为全屏的实时视频,并以类似于亭的模式在视图中显示它?对于公共API来说,这是否已经过时并且不可能了


如果您有任何建议或指示,我们将不胜感激。

Core Graphics API提供了一组函数,可在每次新屏幕框准备就绪时调用块:

  • CGDisplayStreamStart
    /
    CGDisplayStreamStop
您可以使用该API提供的
IOSurface
,并将其显示在您自己的信息亭窗口中


CGDisplayStream
API提供一些示例代码,并演示如何将
IOSurface
渲染到
NSOpenGLView

这听起来很正常。这是否可能允许在视图或窗口中创建虚拟显示?或者我是在想黑洞?我看了流API,它看起来是为了在某个地方流化显示的缓冲区,但尝试在同一个显示上做这件事是疯狂的,除非我能创建一个流外渲染的上下文。我几乎需要每隔一帧渲染一次,并在帧之间进行流。。。这有意义吗?我想的是iChat/Messages如何在一个小窗口中呈现我的屏幕,同时查看另一个人共享的屏幕。@Uchiugaka:您可以将CGDisplayStream提供给您的图像(基本上是OpenGL纹理)渲染到一个窗口,或者在不同的显示器上全屏显示。但是,如果目的地在同一显示器上,它最多只能是一个视频反馈循环(无限通道)。除非有办法将窗口或上下文从流中排除。