请问我怎么保存客户区的图像啊? 我在客户区画了一些东西,我想把它保存为一个BMP文件。我对什么内存设备对象不了解,请详细指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CDC dcBack;CBitmap bmpBack;if (!dcBack.CreateCompatibleDC(NULL)){ return FALSE;}DEVMODE devMode;EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&devMode);if (!bmpBack.CreateBitmap(nWidth, nHeight, 1, devMode.dmBitsPerPel, NULL)){ return FALSE;}CBitmap* pbmpOld=(CBitmap*)SelectObject(&bmpBack);然后将客户区DC中内容用BitBlt()或其他同类函数拷贝到dcBack上。初始化或获得bmp文件头,bmp信息头,颜色表,使用GetDIBits()再获取位图数据长度,获取位图数据。最后依次写入文件即可。 我这样写他不能正确保存。怎么出来的图像是全黑色的,然后是1024X768的?我的客户区只有一点点。void CMyAppView::OnFileSave(){ // TODO: 在此添加命令处理程序代码 //客户区内已经有图像了,进行保存。 CDC* dc=GetDC(); CDC dcCompatible; dcCompatible.CreateCompatibleDC(dc); CBitmap bmp; VERIFY(bmp.CreateCompatibleBitmap(dc,dc->GetDeviceCaps(HORZRES),dc->GetDeviceCaps(VERTRES))); CImage img; img.Attach(bmp); img.Save("1.bmp"); img.Detach();} FreeType字体上下对齐 标题栏问题!!! Visual Studio 2005中如何发布成可执行文件在没有vs环境的电脑上运行>>? vc下,如何将汉字保存为位图(256色)。例如,输入“学生”,然后得到一张bmp图片,打开就只有这俩字?谢谢! 求TFTP服务端代码 请教一个简单画图问题!!!!!! 求助?directshow的问题 请问在VC里的OnLButtonUp事件是怎样触发的? 请解析COM的原理 如何能得到一个文件夹中文件的个数啊?? 怎样提高MFC ODBC访问数据库的速度 完成端口的问题,救命啊
CBitmap bmpBack;if (!dcBack.CreateCompatibleDC(NULL))
{
return FALSE;
}DEVMODE devMode;
EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&devMode);if (!bmpBack.CreateBitmap(nWidth, nHeight, 1, devMode.dmBitsPerPel, NULL))
{
return FALSE;
}CBitmap* pbmpOld=(CBitmap*)SelectObject(&bmpBack);
然后将客户区DC中内容用BitBlt()或其他同类函数拷贝到dcBack上。
初始化或获得bmp文件头,bmp信息头,颜色表,使用GetDIBits()再获取位图数据长度,获取位图数据。
最后依次写入文件即可。
void CMyAppView::OnFileSave()
{
// TODO: 在此添加命令处理程序代码
//客户区内已经有图像了,进行保存。
CDC* dc=GetDC(); CDC dcCompatible;
dcCompatible.CreateCompatibleDC(dc);
CBitmap bmp;
VERIFY(bmp.CreateCompatibleBitmap(dc,dc->GetDeviceCaps(HORZRES),dc->GetDeviceCaps(VERTRES)));
CImage img;
img.Attach(bmp);
img.Save("1.bmp");
img.Detach();}