Изменение режима масштабирования фонового изображения на рабочем столе OS X
Я работал над проектом, который изменяет образ рабочего стола, который я выполняю так:
[[NSWorkspace sharedWorkspace] setDesktopImageURL:fileURL forScreen:[NSScreen mainScreen] options:[NSDictionary dictionary] error:&error];
Это работает, но не дает мне контроля над масштабированием. Я хотел бы иметь возможность выбирать параметры масштабирования программно, как вы можете в пользовательском интерфейсе (заполнить экран, подогнать по размеру экрана, растянуть, чтобы заполнить экран, по центру, плитке), но я не могу найти документацию, объясняющую, как это сделать. Хуже того, вызов вышеуказанного метода всегда сбрасывает масштабирование до "заполнить экран".
Будем очень благодарны любой помощи. Спасибо за ваше время и помощь!
1 ответ
Вы можете установить NSWorkspaceDesktopImageScalingKey
в option
параметр. Вот возможные значения:
NSImageScaleProportionallyDown
Если он слишком велик для места назначения, уменьшите изображение, сохранив соотношение сторон.
NSImageScaleAxesIndependently
Масштабируйте каждое измерение, чтобы оно точно соответствовало месту назначения. Этот параметр не сохраняет соотношение сторон изображения.
NSImageScaleNone
Не масштабируйте изображение.
NSImageScaleProportionallyUpOrDown
Масштабируйте изображение до максимально возможных размеров, оставаясь в пределах области назначения и сохраняя соотношение сторон.
Объявлено в NSCell.h.