问题
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.
来源:https://stackoverflow.com/questions/7328030/in-coregraphics-drawing-how-can-i-keep-the-point-of-overlap-from-being-darker-th