Hi i want to know if C is the best language for image manipulation and creating a steganography tool?, if so how would i go implementing steganography and can anyone recommend any reading materials and libraries needed.

For any given task, there is no one "best" language. The list of things that might make a language choice better than another is huge; programmer knowledge, existing libraries, contractual obligations, religious beliefs, on and on and on.

That said, C can certainly handle such things. If you want to hide information in images, you will need a way to read, alter and save images. C has a huge number of libraries available and some of them deal with images. Pick an image type with good library support and start with that.

As to hiding the information, that's up to you. Think about what image information actually is and go from there. For example, perhaps you wish to hide a list of values in an image where each pixel is represented by 24 bits - 8 bits R, 8 bits G, 8 bits B. You could decide to turn your list of values into binary digits and make the last bit of the B value your hidden values. The only limit is what you can think of. Go to it :)