在 MAAttachedWindow 后面模糊背景?

5
只是好奇是否有可能。 目前,一个样例MAAttachedWindow看起来像这样:enter image description here 然而,我想知道是否可以模糊窗口背后的背景,就像这样:enter image description here 是否在不使用私有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];

你不能使用石英过滤器吗? - Antwan van Houdt
@Antwan:不太确定。我该怎么做? - sudo rm -rf
其实我也不太清楚,哈哈。但是我知道有一些示例项目可以将这些过滤器应用于图像,你可能可以将同样的过滤器应用于你的视图。 - Antwan van Houdt
2个回答

5
不行。您不能在不使用私有API的情况下这样做。(我的消息已经达到30个字符了吗?)

这正是我所想的。我会等一段时间再接受它,看看是否有其他人有更好的想法。 - sudo rm -rf
如果你决定去尝试:http://iloveco.de/using-core-image-filters-onunder-a-nswindow/ - sbooth
1
@sbooth:好吧,我不会这样做,因为这是一个App Store应用程序。 ;) 不想要不必要的拒绝。 - sudo rm -rf

1
你可以考虑的一件事是不要模糊窗口后面的东西,而是捕捉背景的图像,将其模糊,然后使用模糊版本作为窗口的背景。

你可以使用 setBackgroundImage: 方法轻松设置附加窗口的背景。但是问题在于,窗口在打开时可以移动。因此,你必须不断地截取背景的屏幕截图,这样做并不可行。所以,我想这种方法行不通。 - sudo rm -rf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接