I know this is a newbie question and I don't mind doing more research, but I'd like to know what to work with. Right now I feel I could go in a dozen directions and I want to narrow that down so I don't spend days looking at information that won't help me.

I'm new to C++ and before now the only graphics programming I've done was to load in an image to display in a Java panel.

I have been using Poppler to do some simple work with PDFs. I'd like to be able to use it to display PDFs as well. While there is a Qt wrapper for Poppler, I can't use it for a number of reasons. (For starters, the wrapper is for Qt 4 and Qt is now at version 5, but there's more reasons.)

However, I can use Poppler to render an image of a PDF. From there, I can access the image in memory or write it out in a number of specified formats, like jpg or png. (The reference for this image class is here: https://oinksoft.com/doc/poppler/cpp..._1_1image.html).

I know, to do this, I'll have to learn more about graphics programming and image handling, but I don't want start tracking down graphics libraries and reading up on ones that are totally unrelated to anything I might need, since that might take days until I find the format I need.

I notice there is information in the documentation of the image class to indicate what kind of format the data must be in for an image. Is there enough there to know if this is a typical way image data is stored in memory in C++? Is this format compatible with any other library or GUI toolkit? Is there any way of knowing how easy it would be to take the date from this image and convert it into something useable by another library?

And, in a much broader and more useful sense for me, as I try to learn this: Are there standard ways most C or C++ programmers would store image data within memory? I know there will always be exceptions, but is there any "normal" way to store image data while the image is in memory?