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/)
As daddz said, you can use [SDL](http://www.libsdl.org/) for inputs, and image reading. In order to render your 2D primitives, OpenGL will do the work (be sure to create an OpenGL compatible window while calling `SDL_CreateWindow`). Concerning font rendering, it is not directly implemented in SDL but a couple of libraries can be used (see [Survey Of OpenGL Font Technology](http://www.opengl.org/resources/features/fontsurvey/)).