2

我知道如何使用setDesktopImageURL设置桌面墙纸。但是,我试图弄清楚如何在 OSX 切换墙纸时进行交叉淡入淡出。我需要使用某种中间图像技巧或动画技巧吗?图片1->动画->图片2。

欢迎任何帮助,

谢谢!

4

2 回答 2

3

据我所知,没有办法做到这一点目标 c。我已经在我的应用程序中使用 osascript 实现了这种效果。这只是一种解决方法,它是有限的,离完美还很远,但它对我有用。

实际上,您必须使用 osx 中已有的淡入淡出效果。为此,您必须:
- 将您想要作为壁纸的图像放入文件夹(仅 1 个图像)
- 将该文件夹设置为桌面壁纸的来源
- 将首选项设置为自动切换壁纸

当您想要更改图像时,您必须以编程方式将其添加到文件夹中并删除旧图像。操作系统会为您褪色。

设置文件夹:

system("osascript -e 'Tell application \"System Events\" to set pictures folder of current desktop to path/to/folder '")  

设置自动开关:

system("osascript -e 'Tell application \"System Events\" to set picture rotation of current desktop to 1'")

您甚至可以在您的应用程序中设置延迟以等待图像切换,然后调用最后一个脚本将旋转设置为 0(禁用它),但有时这会将您的桌面更改为默认的 osx 壁纸(不能找出原因)。

正如我告诉你的那样,这只是一个混乱的工作,但也许它可能会有所帮助。

于 2013-12-31T11:21:22.063 回答
0

它们在可可中没有这样的功能

您可以使用淡出的自定义 NSWindow 接近,或者使用看起来像“不错”解决方法的 vash 的 applescript 方式。

于 2013-12-31T11:26:00.120 回答