I’m working on a project that uses some icons that are under a Creative Commons license (ND) that forbids modification of the picture.
What can I do with this icons as a programmer?
Can I modify the looks of the image in the program as long as I don’t change anything in the file that contains the icon?
Have I modified the image if I put a colored transparent layer over it so the color of the icon changes?
Technically, if your application displays the image changed, it could be considered a derivated work, hence the author would be within his right to sue you. Creative Commons licenses are not software licenses, with differences between static or dynamic linking and such. The same way displaying a copyrighted image might be illegal even if it is not available as a separated file in your application, displaying the ND image changed — other than resizing, I guess — could be considered illegal even if the actual installed file is not changed.
Your best shot, as suggested by Doness, would be to ask the author to allow you explicity to include the icon changed in your application, or even better, publicly relicense it under a different, more permisive license (e.g. BY-SA).
As a simple wikipedia search would have told you, this changes based on the kind of Creative Commons imposed by the original artist
http://en.wikipedia.org/wiki/Creative_Commons#Types_of_Creative_Commons_licenses
In my experience, finished graphics tend to come under the “Attribution Non-Commercial No Derivatives”. In the end, contacting the artist is the best way (which you should do anyway if you use his work somewhere publicly)