2013-03-08 162 views
2
unsigned char * image_data; 
int bytes; // size 

format: 
RGBA , UNSIGNED_BYTE. 
(opengl-glGetTexImage()): 

如何从这些数据创建fipImage *?从unsigned char *(freeimage)创建fipImage *?

C++。


unsigned char * image_data; 
int w = 1000; 
int h = 1000; 

这个函数写IMAGE_DATA

glGetTexImage(GL_TEXTURE_2D, 0 , GL_RGBA , GL_UNSIGNED_BYTE , image_data); 

我想从IMAGE_DATA

fipImage image; 
something like this 
image.load(image_data ,w , h); 
+0

目前还不清楚你在这里问的是什么。 – 2013-03-08 08:29:56

回答

2

您可以从原始像素以下方式创建的FreeImage对象创建fipImage:

FIBITMAP* Bitmap = FreeImage_Allocate(Width, Height, BitsPP, 0, 0, 0); 

memcpy(FreeImage_GetBits(Bitmap), image_data, Width * Height * (BitsPP/8));