【问题标题】:How to make CGWindowListCreateImage render correct background color?如何使 CGWindowListCreateImage 呈现正确的背景颜色?
【发布时间】:2022-01-05 00:00:36
【问题描述】:

使用 CGWindowListCreateImage 捕获屏幕外窗口的图像是创建 QuickLook 风格放大动画的常用方法,但这似乎会创建一个背景颜色错误的图像,比真实窗口略亮。

这会导致动画结束时出现闪烁,从而破坏效果。

有人知道为什么会发生这种情况以及可以做些什么吗?

编辑:我为这个问题创建了一个demonstration app。 Stack Overflow 问题有点大而且复杂,但相关代码可能在ZoomingWindow.m 方法takeSnapshotmakeAndPrepareSnapshotWindow 中。

【问题讨论】:

    标签: macos cocoa core-graphics core-animation


    【解决方案1】:

    在 Interface Builder 中将窗口外观设置为纹理化修复了此问题。当然,这也会改变窗口的颜色,但在这种特殊情况下这是可以接受的。

    【讨论】:

      猜你喜欢
      • 2013-08-10
      • 1970-01-01
      • 2021-11-20
      • 2018-12-25
      • 2015-04-05
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      • 2013-06-06
      相关资源
      最近更新 更多