SCDisplay vs SCWindow

SCDisplaySCWindowScreenCaptureKit 中的两个重要类,它们用于屏幕捕获和内容共享,尤其在处理显示器和窗口时具有不同的功能和特性。下面是它们之间的关系和区别:

SCDisplay

  • 定义: SCDisplay 代表一个物理显示器,可以获取关于显示器的相关信息,例如分辨率、屏幕尺寸、缩放因子等。

  • 功能:

    • 用于获取系统中可用显示器的信息。

    • 你可以使用 SCDisplay 来获取多个显示器的详细信息,以决定在捕获内容时应该使用哪个显示器。

    • 可以用于捕获整个显示器的内容。

  • 用途: 适用于需要获取显示器属性和状态的场景,例如在多显示器环境下选择目标显示器进行捕获。

SCWindow

  • 定义: SCWindow 代表一个具体的窗口,可以是应用程序的窗口或系统的其他窗口。

  • 功能:

    • 允许访问窗口的具体信息,例如标题、位置、大小等。

    • 你可以使用 SCWindow 来选择特定窗口进行捕获。

    • 提供窗口的层级和类型信息,便于选择要捕获的窗口。

  • 用途: 适用于需要针对特定应用程序窗口进行截图或录制的场景。

关系

  • 包含关系: 在某种程度上,SCDisplay 可以包含多个 SCWindow,因为一个显示器上可能会有多个窗口。

  • 相互作用: 当你使用 SCContentFilter 选择捕获内容时,可以选择捕获整个 SCDisplay 或者某个特定的 SCWindow。选择的内容取决于你希望捕获的内容类型。

总结

  • SCDisplay: 关注的是整个显示器的捕获和信息获取,适用于处理多个显示器和显示器的属性。

  • SCWindow: 关注的是特定窗口的捕获和信息获取,适用于需要捕获特定应用程序窗口的场景。

特性
SCDisplay
SCWindow

定义

代表一个物理显示器

代表一个具体的窗口

功能

- 获取显示器的相关信息(分辨率、屏幕尺寸等) - 可用于捕获整个显示器的内容

- 获取窗口的相关信息(标题、位置、大小等) - 可用于捕获特定窗口的内容

用途

- 适用于多显示器环境的选择

- 适用于针对特定应用程序窗口进行截图或录制

包含关系

可以包含多个 SCWindow

不能包含 SCDisplay

相互作用

可用于选择捕获整个显示器或特定窗口

可与 SCDisplay 结合选择要捕获的窗口

Last updated