更改OS X桌面背景图像缩放模式

时间:2013-03-25 05:50:20

标签: objective-c cocoa position scaling desktop-wallpaper

我一直致力于改变桌面图像的项目,我一直在这样做:

[[NSWorkspace sharedWorkspace] setDesktopImageURL:fileURL forScreen:[NSScreen mainScreen] options:[NSDictionary dictionary] error:&error];

这有效,但无法控制缩放。我希望能够在UI中以编程方式选择缩放选项(填充屏幕,适合屏幕,拉伸到填充屏幕,中心,平铺),但我找不到解释如何操作的文档。更糟糕的是,调用上述方法总是将缩放重置为“填充屏幕”。

非常感谢任何帮助。感谢您的时间和帮助!

1 个答案:

答案 0 :(得分:2)

您可以在NSWorkspaceDesktopImageScalingKey参数中设置option。以下是可能的值:

NSImageScaleProportionallyDown

如果目标太大,请在保留纵横比的同时缩小图像。

NSImageScaleAxesIndependently

将每个维度缩放为完全适合目标。 此设置不保留图像的宽高比。

NSImageScaleNone

不要缩放图像。

NSImageScaleProportionallyUpOrDown

将图像缩放到最大可能尺寸,同时保留在目标区域内并保留其纵横比。

在NSCell.h中声明。