【问题标题】:Blur background behind MAAttachedWindow?MAAttachedWindow 后面的背景模糊?
【发布时间】:2011-05-05 16:30:39
【问题描述】:

只是好奇这是否可能。现在这里是示例 MAAttachedWindow 的样子:

但是,我想知道我是否可以模糊窗口后面的背景,如下所示:

不使用私有 API 是否可行?


请求代码。好吧,这就是 MAAttachedWindow 的工作原理。你只需给它一个自定义的 NSView,剩下的就交给它了。所以,这就是我试图模糊的方式:

CALayer *backgroundLayer = [CALayer layer];
[view setLayer:backgroundLayer];
[view setWantsLayer:YES];
CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
[blurFilter setDefaults];
[view layer].backgroundFilters = [NSArray arrayWithObject:blurFilter];

【问题讨论】:

  • 你不能使用 Quartz 过滤器吗?
  • @Antwan:不确定。我该怎么做呢?
  • 不知道.. tbh xD 但是我知道有一些示例项目将这些过滤器应用于图像,您也许可以将相同的过滤器应用于您的视图。

标签: objective-c cocoa macos


【解决方案1】:

没有。如果不使用私有 API,您将无法做到这一点。 (我的消息是 30 个字符吗?)

【讨论】:

  • 我就是这么想的。我要等一会儿接受它,看看有没有其他人有想法。
  • @sbooth:好吧,我不打算这样做,因为这是一个 App Store 应用程序。 ;) 不想要不必要的拒绝。
【解决方案2】:

您可以考虑做的一件事是不要模糊窗口后面的东西,而是捕获背景图像,对其进行模糊处理,然后将模糊版本用作窗口的背景。

【讨论】:

  • 您可以使用setBackgroundImage: 方法轻松设置附加窗口的背景。这样做的问题是窗口可以在打开时移动。因此,您必须不断地对背景进行截图,这是行不通的。所以,我想这行不通。
猜你喜欢
  • 2013-10-19
  • 1970-01-01
  • 2021-06-27
  • 2016-04-22
  • 2022-10-14
  • 2015-10-26
  • 1970-01-01
  • 2018-04-24
  • 1970-01-01
相关资源
最近更新 更多