首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保存1 BPP、4 BPP和8BPP图像

如何保存1 BPP、4 BPP和8BPP图像
EN

Stack Overflow用户
提问于 2011-09-20 17:16:17
回答 2查看 1.4K关注 0票数 0

谁能让我知道如何将1BPP,4BPP和8BPP保存为位图。

请让我知道如何保存为位图。

EN

回答 2

Stack Overflow用户

发布于 2011-09-20 17:43:19

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

代码语言:javascript
复制
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方法。

"save“方法所需的编码器clsid有点难以获取。但请参阅我的帖子here,了解如何获取该值。

票数 1
EN

Stack Overflow用户

发布于 2011-09-20 19:07:26

代码语言:javascript
复制
ATL::CImage* image_ = new CImage();
image_ -> Create( rect.right - rect.left, rect.bottom - rect.top, 32 );

...
image_ -> Save( filename );
delete image_;

相应地更改Create()中的参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7482811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档