iOS- How to paint in the within limits

2019-04-11 20:43发布

I used the scanning line seed filling algorithm to realize the color filling function.

But I don't know how to do that. When my pen lands in the flower, I need to draw only Inside the black edge of the flower,do not draw in the hair.

I have tried to use : CALayer *layer = [CALayer layer]; layer.contents = (__bridge id)(image.CGImage); self.drawView.layer.mask = layer; But the plan didn't work. if any one gives solution it would be so great,Thank you. (English is not my native language; please excuse typing errors.) enter image description here

1条回答
我命由我不由天
2楼-- · 2019-04-11 21:18

Use a two pass approach.

  • Use the same algorithm as the fill algorithm to create a stencil mask which fills the area you want to allow the pen to draw.
  • Draw the pen with stencil testing to constrain it to the allowed region.

Similar approach could be used to create an alpha-mask on the fly (e.g. as a texture), and mix that with the pen drawing.

查看更多
登录 后发表回答