删除itunes中的影片:将dc内容保存为bmp文件
来源:百度文库 编辑:中财网 时间:2024/05/07 03:00:16
比如要保存窗口内容为bmp图片,先将dc关联hbitmap,然后bitblt到dc上,就可以保存为bmp了。很方便的bool SaveBMP(HBITMAP hmp,CString strFileName)
{ //把位图的信息保存到bmpinfo
BITMAP bmpinfo;
GetObject(hmp,sizeof(BITMAP),&bmpinfo);
DWORD dwBmBitsSize = ((bmpinfo.bmWidth * 32+31)/32) * 4 * bmpinfo.bmHeight; //位图文件头 14字节
BITMAPFILEHEADER bf;
bf.bfType = 0x4D42; //BM
bf.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + dwBmBitsSize;
bf.bfReserved1 = 0;
bf.bfReserved2 = 0;
bf.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER); //位图信息头
BITMAPINFOHEADER bi;
bi.biSize = sizeof(BITMAPINFOHEADER);
bi.biWidth = bmpinfo.bmWidth;
bi.biHeight = bmpinfo.bmHeight;
bi.biPlanes = 1;
bi.biBitCount = 32;
bi.biCompression = BI_RGB;
bi.biSizeImage = 0;
bi.biXPelsPerMeter = 0;
bi.biYPelsPerMeter = 0;
bi.biClrUsed = 8;
bi.biClrImportant = 0; //位图数据
char* context = new char[dwBmBitsSize];
HDC dc = GetDC(NULL);
GetDIBits(dc, hmp, 0, bi.biHeight, context, (BITMAPINFO*)&bi, DIB_RGB_COLORS); HANDLE file = ::CreateFile(strFileName,GENERIC_WRITE|GENERIC_READ,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS ,FILE_ATTRIBUTE_NORMAL,NULL);
DWORD Num;
if(INVALID_HANDLE_VALUE != file )
{
WriteFile(file,&bf,sizeof(BITMAPFILEHEADER),&Num,NULL);
WriteFile(file,&bi,sizeof(BITMAPINFOHEADER),&Num,NULL);
WriteFile(file,context,dwBmBitsSize,&Num,NULL);
::CloseHandle(file);
}
delete context; return 0;
}
{ //把位图的信息保存到bmpinfo
BITMAP bmpinfo;
GetObject(hmp,sizeof(BITMAP),&bmpinfo);
DWORD dwBmBitsSize = ((bmpinfo.bmWidth * 32+31)/32) * 4 * bmpinfo.bmHeight; //位图文件头 14字节
BITMAPFILEHEADER bf;
bf.bfType = 0x4D42; //BM
bf.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + dwBmBitsSize;
bf.bfReserved1 = 0;
bf.bfReserved2 = 0;
bf.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER); //位图信息头
BITMAPINFOHEADER bi;
bi.biSize = sizeof(BITMAPINFOHEADER);
bi.biWidth = bmpinfo.bmWidth;
bi.biHeight = bmpinfo.bmHeight;
bi.biPlanes = 1;
bi.biBitCount = 32;
bi.biCompression = BI_RGB;
bi.biSizeImage = 0;
bi.biXPelsPerMeter = 0;
bi.biYPelsPerMeter = 0;
bi.biClrUsed = 8;
bi.biClrImportant = 0; //位图数据
char* context = new char[dwBmBitsSize];
HDC dc = GetDC(NULL);
GetDIBits(dc, hmp, 0, bi.biHeight, context, (BITMAPINFO*)&bi, DIB_RGB_COLORS); HANDLE file = ::CreateFile(strFileName,GENERIC_WRITE|GENERIC_READ,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS ,FILE_ATTRIBUTE_NORMAL,NULL);
DWORD Num;
if(INVALID_HANDLE_VALUE != file )
{
WriteFile(file,&bf,sizeof(BITMAPFILEHEADER),&Num,NULL);
WriteFile(file,&bi,sizeof(BITMAPINFOHEADER),&Num,NULL);
WriteFile(file,context,dwBmBitsSize,&Num,NULL);
::CloseHandle(file);
}
delete context; return 0;
}
如何将记事本的内容保存为VBS文件
如何将屏幕截图保存为bmp格式
如何将bmp文件转换为blp文件
如何将BMP文件转换为CUR文件?
怎样将BMP文件转化为JPEG文件
怎样将CDR 文件转化为BMP文件?
如何将BMP文件转换为dwg,WMF
如何将TXT文件保存为HTML
GIF保存后为BMP
怎样将记事本中的文件内容保存成TXT文件
如何将bmp图片转化为jpg图片保存在QQ空间
悬赏50分:ASP用adodb.stream如何将数字保存为BMP图像?
如何将word文件保存为网页文件?
如何将DAT文件剪辑并保存为DAT文件
怎样将DELPHI文件最后保存为EXE文件?
怎样将一个文件保存为扩展文件?
如果将JPG或BMP文件清晰的转化为图标文件呀?
如何将GIF文件转为BMP文件?
如何将*ddb格式的文件保存为word格式
请问高人如何将文件保存为reg格式啊?
如何将SWF文件里的文字,保存为文本文件
怎样将BMP格式图象的文件转换为JPG格式的?
如何将图片BMP转化为GIF
如何将BMP文件压缩传到网上