Я хочу заполнить форму многоугольника, которую я нарисовал с помощью Core Graphics, линейным CGGradient. Функция CGContextDrawLinearGradient рисует градиент от одной точки к другой, но заполняет все представление. Как я могу отображать градиент только внутри нарисованного мной многоугольника?
Заливка фигуры градиентом в CGContext
Ответы (1)
Вы можете создать CGMutablePath в желаемой форме, а затем использовать его для обрезки области, которую вы хотите отобразить, например...
// Construct yourClipPath
CGContextAddPath(yourContext, yourClipPath);
CGContextClosePath(yourContext);
CGContextClip(yourContext);
// Draw Your Gradient
person
tmh
schedule
22.06.2009
Спасибо, это работает! Я понял, что мне нужно вызвать CGContextSaveGState/CGContextRestoreGState, чтобы отрезать область.
- person titaniumdecoy; 22.06.2009