Grey to Colored Image
From a once over:


Your indenting is off, this might be a copy paste problem into the question, consider using jsbeautify
You never use var co = color;, throw it away
(r1 == g1 &amp;&amp; r1 == b1 &amp;&amp; g1 == b1) consider that if r1 = g1 and r1 = b1, then g1 must be equal to b1 so you can use the simpler (r1 == g1 &amp;&amp; r1 == b1)
I am not sure why you update the bitmap AND create a new image, I would do only 1 of these for extra speeds
r0,g0,b0 and r1,g1,b1 are not the most intuitive variable names..
Consider caching the values of colorRGBBound(r0 * (r1 / 255)); , there are only 255 possibilities for the value of r1 and you can use the same cache for r1,g1 and b1