is there any way to removing a certain color from Canvas
for example if we draw two lines with different color on Canvas (lines may interact in some points) ,how to clear just one line ,because using Transparent color well erase both lines
As far as I know there is no way to do what you are asking, there isn't an "undo" draw function.
You would need to create two or more canvas objects (CanLine1, CanLine2, etc.) then draw the subsequent canvas images onto the first, e.g. draw on CanLine1, then draw on CanLine2, then draw then entire CanLine2 onto CanLine1.
When you need to "erase" you would modify each canvas as needed and re-render the composite image again.
1. redrawing is an option
2. if you know the ARGB(1) value of the color, and the ARGB(2) of the canvas, you can replace (1) by (2) by scanning it as a bitmap
3. The caveat would be at intersections: what is drawn on top of what. Gaps may occur that need to be filled.
Thanks for all answers
its something like painting application ,i already try save line path information and multi canvas layer ,and get pixel method ,these methods works but not perfect and slow specially get pixel