Каков контекстный параметр для CGContextDrawLayerInRect()?

#macos #core-graphics #quartz-2d

#macos #ядро-графика #кварц-2d

Вопрос:

В документации говорится: графический контекст, связанный со слоем. Но, конечно, это неверно? Конечно, это несвязанный CGContext, в который должен быть втянут слой? И не связан с фактическим CGContext, связанным с параметром layer, который вернет CGLayerGetContext() ?

Ответ №1:

Когда создается CGLayer, ему присваивается CGContext , и вы можете думать об этом контексте как о шаблоне, характеристики которого определяют типы CGContexts, которые будут наиболее эффективно работать при рисовании вашего слоя.

Поэтому, когда вы рисуете свой слой, вы можете передавать тот же самый контекст или любой контекст с аналогичными характеристиками, и он должен быть таким же эффективным. С другой стороны, если вы предоставляете контекст, свойства которого существенно отличаются от вашего исходного шаблона, слой может отрисовываться не так эффективно, как хотелось бы, и / или результат может быть не совсем таким, как вы хотите.