setBackgroundColor используя NSImages?
У меня проблемы с пониманием следующего фрагмента кода:
[window setBackgroundColor:[NSColor colorWithPatternImage:[NSImage imageNamed:@"myImage.png"]]];
Предполагается установить фоновое изображение в NSWindow. Но
- Почему setBackgroundColor?
- Что значит
NSColor colorWithPatternImage
действительно? Должен ли NSColor быть только цветом?
Мой вопрос, наверное, простой, но меня это беспокоит.
Спасибо
1 ответ
Базовая графика имеет (аналогично PostScript и PDF) концепцию "цветовой узор". См., Например, Шаблоны в "Руководстве по программированию Quartz 2D":
Шаблон - это последовательность операций рисования, которые многократно рисуются в графическом контексте. Вы можете использовать шаблоны так же, как вы используете цвета.
[NSColor colorWithPatternImage:image]
создает шаблон, который рисует изображение несколько раз. Так что в вашем случае, если изображение имеет тот же размер, что и окно, оно рисуется только один раз. Но если изображение меньше окна, оно будет многократно нарисовано в направлении x и y, чтобы заполнить фон окна.