"Magic" color pics for kids done with canvas + jquery
barbafan.de
barbafan.de
Four canvases:
1. BW (inited from Color) 2. Color (color source image) 3. Paint (inited transparent) 4. Temp (inited transparent)
Each mouse move:
1. Draw an opaque white line on Paint to the new position 2. Copy Paint to Temp 3. Set the globalCompositeOperation to "source-in" 4. Draw Color to Temp 5. Set the globalCompositeOperation to "source-over" 6. Draw Temp to BW
I haven't tried it, but I think it should work (or something like it with the flaws corrected :) ). One advantage is that you can use the path line drawing primitives on the canvas instead of rolling your own.
You could also optimize a bit by only drawing the portions of the canvases that have been changed, but it really should be plenty fast as-is.
(In that demo, the B&W image is pre-made--I don't do your cool in-canvas edge detection, but the drawing stuff should still apply.)
Great idea though. How do you do the edge detection? Sounds like a neat feature.
Edge detection is easy, especially on images with small numbers of colors in large swaths.
http://michaelsync.net/2007/09/10/firebug-tutorial-logging-p...