right the smartest way to do it is this way... basically, open what image you r editing. create a new layer above this, put your colour onto that layer, change the "blend" option to something like overlay or multiply or screen.
(the trickier part)
theres 2 ways you could do the 2nd part so here goes...
1) right click on your new layer with the colour on it, then click on "create clipping mask".however this will only work if there isnt a background with the image (the background does include a plain white colour. it has to be completly transparent to work)
2) select your "lasso" tool and outline the shape of the character (a few mm inside of the outline of the actual character could help improve the outcome) after youve outlined the whole character, right click anywhere on the image and click on "select inverse". now hit delete and it should leave u with the colour on your character and nowhere else. now all you need to do is select the "blur" tool and blur the edges to make it look smoother.
then after youve done that, save it as whatever format you need it as and enjoy your new colours :P
hopefully that helped you out
P.S i used character as an example of an image