截圖並生成BMP檔案

2021-04-27 04:51:35 字數 1457 閱讀 1660

cdc dc;

dc.createdc(_t("display"),null,null,null);

cbitmap bm;

int width=getsystemmetrics(sm_cxscreen);

int height=getsystemmetrics(sm_cyscreen);

bm.createcompatiblebitmap(&dc,width,height);

cdc tdc;

tdc.createcompatibledc(&dc);

cbitmap*pold=tdc.selectobject(&bm);

tdc.bitblt(0,0,width,height,&dc,0,0,srccopy);

tdc.selectobject(pold);

bitmap btm;

bm.getbitmap(&btm);

dword size=btm.bmwidthbytes*btm.bmheight;

lpstr lpdata=(lpstr)globalallocptr(gptr,size);

/bitmapinfoheader bih;

bih.bibitcount=btm.bmbitspixel;

bih.biclrimportant=0;

bih.biclrused=0;

bih.bicompression=0;

bih.biheight=btm.bmheight;

bih.biplanes=1;

bih.bisize=sizeof(bitmapinfoheader);

bih.bisizeimage=size;

bih.biwidth=btm.bmwidth;

bih.bixpelspermeter=0;

bih.biypelspermeter=0;

///getdibits(dc,bm,0,bih.biheight,lpdata,(bitmapinfo*)&bih,dib_rgb_colors);

// bm.getbitmapbits(size,lpdata); //此函式在處理5-5-5模式的16位色下會出現顏色混亂

//static int filecount=0;

cstring name = _t("c://pict.bmp");

bitmapfileheader bfh;

bfh.bfreserved1=bfh.bfreserved2=0;

bfh.bftype=((word)('m'<< 8)|'b');

bfh.bfsize=54+size;

bfh.bfoffbits=54;

cfile bf;

if(bf.open(name,cfile::modecreate|cfile::modewrite))

globalfreeptr(lpdata);

updatedata(false);

VC 建立BMP檔案並顯示

建立mfc cstatic的pciture外掛程式 設定為frame 1 在標頭檔案中初始化bmp檔案頭資訊變數 bitmapfileheaderm bmfheader bitmapinfoheaderm bmiheader lpbyte lpbbmdata bitmapinfo bminfo ui...

Python讀取並解析 bmp 檔案

由於要開始學習影象方面的知識,讀寫是難免的。對的結構有一定的了解對理解儲存還是很有幫助的。由於實驗的 是用 python 寫的,因此讀取檔案就直接使用 python 了,雖然用 c 來讀寫檔案更有效率,但我個人感覺 python 也沒有很慢。下面來看一下bmp 檔案結構和讀取 bmp 檔案的過程。用...

windbg 生成並分析dump檔案

1 開啟dump格式檔案 開啟windbg,通過選單 file open crash dump 選擇dump檔案開啟,也可通過cmd開啟dos命令視窗,切換到windbg所在目錄,利用命令 windbg z d lines2009 7 25 22 20 33 900.dmp z表示路徑 圖1.1 利...