2013-09-20 6 views
1

СИТУАЦИЯDrawRect нарисовать тонкую линию с большой тенью

Я нарисовал тонкую линию через CGContextAddLineToPoint и CGContextStrokePath. Я добавил красную тень через CGContextSetShadowWithColor.

желательное поведение

Независимо от того, какое значение я устанавливаю для размытия, красная тень была слишком слаба. Я бы хотел, чтобы красная тень была намного сильнее.

ПРИМЕЧАНИЕ

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

Кроме того, белая линия может быть изогнута (я использую CGContextAddQuadCurveToPoint).

ЧТО Я ПРОБОВАЛ

Игры вокруг с CGContextSetLineWidth, я обнаружил, что увеличение ширины сделало красную тень более заметной. Однако белая линия была слишком толстой.

Затем я попытался разделить его на две части с тенью, используя большую ширину линии. Когда я попытался рисовать только тень с [[UIColor clearColor] setStroke], тень не была нарисована вообще.

Затем я попытался рисовать только тень с помощью [[UIColor colorWithRed:1 green:0 blue:0 alpha:0.1] setStroke], но с альфой на штрихе ТАКЖЕ воздействует на альфу тени, поэтому тень все еще была слишком слабой.

Я пробовал следовать iOS Core Graphics: Draw ONLY shadows of a CGPath, но у меня был странный эффект, когда мои тени не только не показывались, но линия угасала от красного до черного. Я не был уверен, что происходит.

Справка была бы принята с благодарностью.

+0

Не могли бы вы показать картину того, чего вы пытаетесь достичь? благодаря – Fogmeister

ответ

0

В итоге я получил CGContextDrawRadialGradient For Non-Circular Glow. По сути, я перерисовал линию поверх себя несколько раз, пока свечение не выглядело достаточно сильным. Я также растрировал его в надежде, что удар производительности не будет слишком суровым.

Смежные вопросы