In CoreGraphics drawing how can I keep the point o

2019-05-06 20:22发布

问题:

My app uses core graphics for custom finger paint drawing. I allow the user to change the alpha of the line and a new line is continuously drawn on touches moved. When I make the alpha lower than 1.0 the point of overlap is darker than the rest of the line. I know why this occurs but how can I stop this?

回答1:

I suppose you want a single stroke not to darken itself, but still to darken previous strokes (that's how most painting apps work).

For this to work, you need two views/buffers, one for the 'current background' and one for the current stroke. Merge the latter with the background when the finger is released.

You always draw with alpha 1 in the current stroke buffer, but you display and merge it with a lower alpha.