   looking for an image processing library
  I'm writing a puzzle game for Windows in C++ and want to load my background images as 16:9 at very high resolution and scale, compose, and/or crop them to fit the resolution the user selects for the game. I want to do this at startup without using DirectX, and am not really concerned with speed because frankly I don't care how long startup takes: it's not going to be that long for this game.So I'm looking for an image processing library that will do the scaling as well as something like Photoshop does it. I could just use the GDI and StretchBlt but I have a feeling I'll be unhappy with the results -- right? What options are there as far as libraries go? I think I used something called ImageMagick and one called Cimage for corporate jobs I've had in the past but don't really know what the advantages of each are or if there is something better. What do people suggest?   
  I use DevIL for all my image file handling. I forget what it is able to do and not do. The API is similar to OpenGL. It's worth a look at least if it might do what you're looking for. I pretty much just load/save images with it.   ;  Yeah, I've been looking around and DevIL looks like it does what I need, and the other libraries I've seen don't. I want to have my source images as Png's stored as Win32 resources so I need to be able to load from memory and then after I crop/scale/compose them I need to be able, carve them up into square tiles that I a can load into DirectX textures so the easiest thing would be to "save" them in memory to some file format that D3DXLoadTextureFromMemory can understand. That is, I need real image scaling, loading from memory, and saving to memory. DevIL will do all this. Magick++ will do this too but it is GPL which I don't want to have to deal with. CImg is basically LGPL but can't load or read from/to memory. And boost::gil has a permissive license but also won't (currently) load/save from/to memory. So it looks like DevIL unless someone has a better idea. I mean I guess I could use Cimg or gil and just read and write to a temporary directory but that seems kind of braindead.   ;  Hi:A year ago I was using DevIL too, but I changed to FreeImage because it can read PSD files and I found a better library. In my opinion, it is easiest to use than DevIL.Carlos   ;  Thanks, FreeImage looks like it does what I need too. I guess my only problem now is that I haven't really heard of FreeImage or DevIL before today. Whereas Cimg, boost::gil, and ImageMagick I've used before or otherwise trust. Anyway I guess I'm just going to test out FreeImage's scaled blit and see what its output is like relative to PhotoShop.   ;  I think that DevIL has utility functions for creating D3D textures out of the bound image (not sure though).   ;  I'm using FreeImage in my raytracer and are satisfied with it.   