谁能让我知道如何将1BPP,4BPP和8BPP保存为位图。我在图像中有一些位,宽度和高度。

请让我知道如何将其另存为位图。

最佳答案

对于Windows和C ++,最简单的方法是Gdiplus。这是一些伪代码。

Gdiplus::Bitmap* pBmp = new Gdiplus::Bitmap(width, height, pixelformat);
pBmp->SetPalette(...); // initialize palette for 8bpp formats and less
pBmp->LockBits(...); // acquire the bitmap buffer

// copy your binary image data into the buffer

pBmp->UnlockBits(...); // return the buffer

pBmp->Save(filename, &clsidBMP, NULL);

delete pBmp;


您可以获得由GDI加here定义的像素格式的列表。

您需要的大部分内容由Bitmap类定义,该类继承自Image类,该类定义了Save方法。

“保存”方法所需的编码器clsid有点棘手。但是,请参阅我发布的here有关如何获取此值的信息。

关于c++ - 如何保存1 BPP,4 BPP和8BPP图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7482811/

10-12 20:56