c# or c++ image processing?
-
My app (which is part c++/cli and part c#) generates bitmaps on the fly, and they exist in memory initially as arrays of unsigned char (width * height * 3 bytes (rbg)). I need to be able to crop, resize, rotate (90, 180 degrees), mirror and flip these images in an efficient way. I've previously used GDI+, but GDI+ has some serious threading issues (although it allows multiple threads, only one thread per process actually gets executed by GDI+ at a time). So i need a replacement image processing library. I looked at CImg, but internally it organises data into separate arrays, one per colour channel, which would make it a headache to get my data into and out of the library. is anyone familiar with any other libraries which will meet my needs? could be c# or c++, it doesn't really matter.
using System.Beer;
-
My app (which is part c++/cli and part c#) generates bitmaps on the fly, and they exist in memory initially as arrays of unsigned char (width * height * 3 bytes (rbg)). I need to be able to crop, resize, rotate (90, 180 degrees), mirror and flip these images in an efficient way. I've previously used GDI+, but GDI+ has some serious threading issues (although it allows multiple threads, only one thread per process actually gets executed by GDI+ at a time). So i need a replacement image processing library. I looked at CImg, but internally it organises data into separate arrays, one per colour channel, which would make it a headache to get my data into and out of the library. is anyone familiar with any other libraries which will meet my needs? could be c# or c++, it doesn't really matter.
using System.Beer;
-
Jon Hulatt wrote:
only one thread per process actually gets executed by GDI+ at a time
Interesting. Do you have a link to that information?
sure. http://social.msdn.microsoft.com/forums/en-US/winforms/thread/25cceaa4-f058-482a-8381-03698f73651a/[^]
using System.Beer;
-
sure. http://social.msdn.microsoft.com/forums/en-US/winforms/thread/25cceaa4-f058-482a-8381-03698f73651a/[^]
using System.Beer;