我知道如何使用setDesktopImageURL设置桌面墙纸。但是我想弄清楚如何在切换壁纸时做OSX所做的交叉淡入淡出。我需要使用某种中间图像技巧或动画技巧吗? Image1 - >动画 - >图像2。
欢迎任何帮助,
谢谢!
答案 0 :(得分:2)
我可以告诉他们没有办法做这个目标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壁纸(无法弄清楚为什么)。
正如我告诉你的那样,这只是一个混乱的工作,但也许它可能会有所帮助。
答案 1 :(得分:0)
他们在可可中没有这样的功能
你可以接近一个自定义的NSWindow淡出你或者你使用vash的applescript方式看起来像一个'好'的解决方法。