我试图制作一个C程序,将两个图像逐个像素地组合在一起。为了存储图像,我定义了这个结构:
struct pixel {
int r;//red
int g;//green
int b;//blue
int a;//alpha
};
typedef struct pixel pixel;
然后创建了一个存储每个像素的指针数组:
int pixelcount=1000*1000; //Resolution of Image
pixel** image1pointer=malloc(sizeof(pixel*)*pixelcount);
pixel** image2pointer=malloc(sizeof(pixel*)*pixelcount);
pixel** resultimagepointer=malloc(sizeof(pixel*)*pixelcount);
然后使用for
循环初始化并为两个图像的每个像素分配(随机)数据,并将它们混合为结果图像。这似乎工作正常,但我如何将实际的JPEG(或其他图像格式)导入到该程序可以使用的像素值中?
我找到了一个名为libjpeg
的库,看起来它可以做到这一点,但我无法找到如何使用它来实现这一点,以及它将如何返回像素值。
编辑:除了将图像文件转换为原始数据外,我可以使用哪种数据格式将其放入结构中?