Изменение режима масштабирования фонового изображения на рабочем столе OS X

Я работал над проектом, который изменяет образ рабочего стола, который я выполняю так:

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

Это работает, но не дает мне контроля над масштабированием. Я хотел бы иметь возможность выбирать параметры масштабирования программно, как вы можете в пользовательском интерфейсе (заполнить экран, подогнать по размеру экрана, растянуть, чтобы заполнить экран, по центру, плитке), но я не могу найти документацию, объясняющую, как это сделать. Хуже того, вызов вышеуказанного метода всегда сбрасывает масштабирование до "заполнить экран".

Будем очень благодарны любой помощи. Спасибо за ваше время и помощь!

1 ответ

Решение

Вы можете установить NSWorkspaceDesktopImageScalingKey в option параметр. Вот возможные значения:

NSImageScaleProportionallyDown

Если он слишком велик для места назначения, уменьшите изображение, сохранив соотношение сторон.

NSImageScaleAxesIndependently

Масштабируйте каждое измерение, чтобы оно точно соответствовало месту назначения. Этот параметр не сохраняет соотношение сторон изображения.

NSImageScaleNone

Не масштабируйте изображение.

NSImageScaleProportionallyUpOrDown

Масштабируйте изображение до максимально возможных размеров, оставаясь в пределах области назначения и сохраняя соотношение сторон.

Объявлено в NSCell.h.

Другие вопросы по тегам