NSImage Overlay / Mask Gradient, как iOS - PullRequest
       23

NSImage Overlay / Mask Gradient, как iOS

2 голосов
/ 27 января 2011

Я хочу повторить с Cocoa / Core Graphics процесс, который, похоже, происходит в iOS при настройке изображения для UITabBarItem. Когда выбран элемент панели вкладок, изображение накладывается с градиентом.

Например,

enter image description here

становится ...

enter image description here

Я не уверен, что именно я должен делать для достижения этого эффекта. Кажется, что изображение маскирует градиент. Любые указатели в правильном направлении (или код!) Будут высоко оценены.

1 Ответ

3 голосов
/ 27 января 2011

Вы можете использовать монохромный CGImage с альфа-каналом (как большинство значков панели инструментов / вкладок iPhone) в качестве маски. По сути, вы бы использовали CGContextClipToMask с вашим монохромным изображением. Затем вы нарисуете градиент, который затем обрезается по изображению маски. Возможно, вы также захотите взглянуть на код UMEKit , который реализует этот эффект на Mac OS X (не рассматривал, как именно они это делают, возможно, есть несколько способов).

...