gpt4 book ai didi

macos - 将屏幕的一部分镜像到外部显示器(在 OSX 中)

转载 作者:行者123 更新时间:2023-12-05 08:02:55 25 4
gpt4 key购买 nike

我想编写一个程序,可以将主显示的一部分镜像到新窗口中。理想情况下,这个新窗口可以显示在外部监视器上。我已经在 pc(多功能显示提取器)上看到了 flightsim 的这种实用性。

CLick here for a screenshot of the program (MFD Extractor)

这将是一个实时窗口,即。不断更新的视频显示不仅仅是静态图形。

我已经查看了屏幕放大镜或 vnc 客户端的想法,但我认为我需要从头开始写一些东西。我曾尝试阅读一些关于 osx 编程的文章,但是在获得对显示器的访问权方面我应该从哪里开始呢?我不知何故需要从特定程序中提取图形。最好靠近最终输出阶段(发送到显示器的各个像素)还是靠近窗口管理阶段的某个地方。

任何想法或指示将不胜感激。我只需要从某个地方开始。

问候,

最佳答案

有几种方法可以做到这一点:

  1. Quartz Display Services将使您能够访问屏幕的视频内存。
  2. Quartz Window Services (又名 CGWindow)将让您创建位于窗口下方的所有内容的图像。如果你创建一个 borderless , transparent , 空, 高- level框架占据整个screen的窗口,它下面的所有内容都将是该屏幕上的所有内容。 (当然,您可以创建一个较小的窗口以复制屏幕的一部分。)
  3. 还有一种我从未完全理解的使用 OpenGL 的方法。该技术由几个代码示例演示,OpenGLScreenSnapshotOpenGLCaptureToMovie .不过,它或多或少被 CGWindow 淘汰了。

其中每一个都会为您提供一张图像,然后您可以将其显示或写入文件或其他内容。

要显示图像,请使用 NSImageViewIKImageView .如果你想放大它,IKImageView 有一个 zoomFactor 属性,但如果你想要最近邻缩放(如 Pixie、DigitalColor Meter 或 xScope),我想你需要写一个为此自定义 View (但即使那样也不是那么难)。

关于macos - 将屏幕的一部分镜像到外部显示器(在 OSX 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2746294/

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