NSBezierPath: как инвертировать путь клипа? - PullRequest
0 голосов
/ 24 февраля 2012

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

Кто-нибудь может предложить метод инвертирования пути клипа?

Ответы [ 2 ]

1 голос
/ 25 февраля 2012

Этим вы не улучшите производительность рисования фона.Во всяком случае, использование более сложного обтравочного контура замедлит рисование.

Если вы хотите рисовать объекты на фоне без значительных затрат на перерисовку фона, вы можете использовать слои Core Animation, как я объяснил в мой ответ на этот вопрос.

0 голосов
/ 19 декабря 2016

Независимо от производительности, этот вопрос возникает первым, когда вы пытаетесь инвертировать клип.

Так что, если это то, что вы ищете: Использование NSBezierPath addClip - Как инвертировать клип

...