Как менять цвет картинки при наведении курсора?
Можно использовать css3, свойство filter, с помощью которого можно манипулировать с цветом картинки.
Вот тут примеры css3 image filters
Все демо тут
Браузеры, которые поддерживаю css3 filter, к сожалению IE тупит как всегда.
Если вам нужно только с чёрно белой на цветную тут хорошая статья с исходниками, а тут демо, поддержка IE 7+
Откройте код да посмотрите. Если коротко, то на приведенном примере используется смещение фона на событие hover. background-position: 0px -90px;
Сама же картинка является спрайтом.