views:

71

answers:

3

Hi everyone!

I looking for FAST library (the best with hardware acceleration) for manipulation on 2D graphic (load image, change value of pixels, change all R/G/B layer from one image to another, save, show effects).

I work with Visual Studio 2008/2010 IDE, and programing in C++ so I need lib worked with that. I have experience with SDL, and allegro. I think that SDL is a bit slow, allegro isn't good idea for this kind of thing.

I need also GUI lib, which will work with this graphic lib (I used SDL_GUI, but I couldn't find good tutorials for that and my program looked bad).

I thought about SDL + MFC, but their are problem with this couple, so maybe SDL+WxWindows, but in this option's still is speed problem. Direct2D is quite new and a can't find good tutorial. I reed also about graphicsmagic API - but i didn't find a lot about GUI which cooperate with GM's API.

I will be grateful for each answer! Regards!

A: 

Have you looked at OpenCV ? Although it's aimed at Computer Vision it has a lot of general purpose image processing support and many of the routines are well optimised for performance.

Paul R
I reed about OpenCV and it's more for real time processing, but as You say it's well optimized (e.g. GPU, and MMX support).
Fatboy
'for real-time' i mean for video. But as everybody know video is sequence of images. I have to read a bit more about OpenCV :)
Fatboy
A: 

You should also check Boost.GIL

It's written by Adobe as an Open Source library, so they know a thing or two about fast image manipulation. Plus being a mostly templated library, a good compiler will optimize away the abstraction layers to produce fast code.

It's doesn't address the GUI part of your question, but it's usually better to keep GUI logic separate from a backend engine anyway.

Eoin
A: 

Try OpenGL at 2D orthographical viewport. It is perfect for games(speed, ...), so you won't have problems with it's speed. It's a little bit complicated if you don't know anything of it, but it has many good free manuals. It is really my first option in doing graphical stuff.

Green Code