我有一个原始图像存储在内存中,以32位RGB值的数组形式组织。我想尽快将其写入图像文件中,以便释放内存。是否有一种方法可以按照以下方式编写未压缩的JPEG、PNG或TIFF图像?或者,我应该说,什么图像格式与这种写入原始像素数据的方法兼容?请注意,左上角像素位于像素数据的前4个字节。
void write_image(uint32_t *pixels, int width, int height) {
FILE *file=fopen("file.jpg","wb");
write_header (file, width, height);
fwrite (pixels,1,width*height*4,file); // write raw pixel data
write_end (file);
fclose(file);
}