Question: I have come across a project where it is required to draw some 2D graphics on a form under Windows and to be able to perform the following tasks:

* read image formats jpg, GIF, png, with transparency
* monitor mouse and keyboard input to this form
* draw simple 2D shapes, eg. line, ellipse, rectangle, pixel set/clear, polygons, ...
* draw text with true font types and sizes and measure text sizes for different strings
* written in C and can be integrated into Visual Studio 2008 C project

I've tried OpenCV but it lacks the transperency, font types, and GIF decoding and other things

I need your help please, It would be good if the library is easy to learn and use

thanks all

Answer: 
Sounds like a perfect job for [SDL](http://www.libsdl.org/)
And why not use the GDI built into Windows?

Traditional GDI documentation - <http://msdn.microsoft.com/en-us/library/dd145203%28v=VS.85%29.aspx>
Newer GDI+ documentation - <http://msdn.microsoft.com/en-us/library/ms533798%28VS.85%29.aspx>

Some more info added:

I guess I don't understand your requirements. Is cross platform support required? If yes, then use C and some of the cross platform libraries people have mentioned. If this is Windows only, then why not use the APIs that come with Windows?

Since your already using Visual Studio and you want ease of learning and development, why don't you use C# and the.NET libraries? In 2010, that is really the easiest way to build Windows only programs. Windows Forms will likely do everything you need. If you really must write in C and you are Windows only, then use GDI+ (or GDI if you need to support older versions of Windows). If you want to learn classic Windows C programming, go to the source - <http://www.charlespetzold.com/pw5/>.