NSBezierPath: ход с 2 или 3 цветами
Я пытаюсь воссоздать меню, которое выглядит как контекстное меню Dock.
Я рисую фон, используя NSBezierPath
, Как вы можете видеть, граница меню Dock имеет 3 полупрозрачных цвета на границе.
Изнутри наружу:
- HSB 0; 0; 7% Op 91% (черный) 1px ширина
- HSB 0;0;53% Op 38% (серый) 2px ширина
- HSB 0;0;0 Op 41% (черный) 1px ширина
Как я мог нарисовать эти границы для моего NSBezierPath
?
PS: используя шаблон ([NSColor colorWithPatternImage:]
) не работает.
1 ответ
Пути - это просто геометрия. У них нет цвета. Цвет является частью графического контекста и влияет на операции обводки или заливки.
Так что, да, один из вариантов - обводить несколько путей вместо одного.
Другой возможный подход заключается в использовании NSDrawNinePartImage()
с предварительно отрендеренными изображениями (растровые или векторные /PDF).