谁能让我知道如何将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/