You can also google for 2D with opengl or somesuch, there’s a ton of resources. Maybe you can try to do it without the FreeImage library at first, for testing. There’s:
DrawPixel as already saw is not the best choise but should work. Are you sure that the picture is RGBA and not only RGB? Also why you use GL_INT? The picture should be 8bit per channel, so GL_UNSIGNED_BYTE. If you will send RGB data take care of the pack_alignment parameter of the pixel store function
Also when you ask a question is better specify what do you see on the screen or post a screen shot. “Don’t work” can be “black screen”, “I see random pixel”, “distorted image” .
ps: by the way. FreeImage let you query the number of bit per pixel and all the data you need.