亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? testtxttobmpdlg.cpp

?? 在VC++工程下
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	DeleteDC(hScrDC);
	DeleteDC(hMemDC);
	// 返回位圖句柄
	return hBitmap;*/
//-------------------------------------
	//HBITMAP hBitmap;
	
	BITMAP Bitmap;
	CDC * pDC;
	pDC=this->GetDC();
	CDC memdc;
	//BITMAP *struc;
	memdc.CreateCompatibleDC(NULL);
	CBitmap bitmap;
	bitmap.CreateCompatibleBitmap(&memdc,128,64);
	//Bitmap=HBITMAP(bitmap);
	//GetObject(Bitmap, sizeof(BITMAP), (LPSTR)&Bitmap);
	//bitmap.GetBitmap(struc);
	memdc.SelectObject(&bitmap);
	GetObject(HBITMAP(bitmap), sizeof(BITMAP), (LPSTR)&Bitmap);
	memdc.FillSolidRect(0,0,128,64,RGB(255,0,0));
	GetObject(HBITMAP(bitmap), sizeof(BITMAP), (LPSTR)&Bitmap);
	memdc.TextOut(0,0,"abcdefgabcdefgabcdefgabcdefgabcdefgvabcdefg");
	GetObject(HBITMAP(bitmap), sizeof(BITMAP), (LPSTR)&Bitmap);
	return HBITMAP(bitmap);
}






int CTestTxtToBmpDlg::SaveBitmapToFile(HBITMAP hBitmap, LPSTR lpFileName)
{
	//hBitmap 為剛才的屏幕位圖句柄
	//lpFileName 為位圖文件名
	HDC  hDC;//設備描述表
	int   iBits;//當前顯示分辨率下每個像素所占字節數
	WORD  wBitCount;   //位圖中每個像素所占字節數
	DWORD  dwPaletteSize=0,dwBmBitsSize,dwDIBSize,dwWritten;//定義調色板大小, 位圖中像素字節大小 ,//位圖文件大小 , 寫入文件字節數
	BITMAP Bitmap;//位圖屬性結構
	BITMAPFILEHEADER  bmfHdr;//位圖文件頭結構
	BITMAPINFOHEADER   bi; //位圖信息頭結構 
	LPBITMAPINFOHEADER lpbi;//指向位圖信息頭結構
	HANDLE  fh, hDib, hPal,hOldPal=NULL;//定義文件,分配內存句柄,調色板句柄//計算位圖文件每個像素所占字節數
	//-----------------------------------


	CDC * pDC;
	pDC=this->GetDC();
	CDC memdc;
	CBitmap bitmap;
	CRect rect;
	::GetClientRect(::GetDlgItem(this->m_hWnd,IDC_SS),rect);
	memdc.CreateCompatibleDC(NULL);
	bitmap.CreateCompatibleBitmap(&memdc,rect.Width(),rect.Height());
	memdc.SelectObject(&bitmap);
	memdc.FillSolidRect(0,0,rect.Width(),rect.Height(),RGB(255,255,255));
	memdc.TextOut(0,0,"abcdefgabcdefgabcdefgabcdefgabcdefgvabcdefg");

	//---------------------
	GetObject(HBITMAP(bitmap), sizeof(BITMAP), (LPSTR)&Bitmap);
	hDC=CreateDC("DISPLAY",NULL,NULL,NULL);
	iBits=GetDeviceCaps(hDC,BITSPIXEL);
	iBits=iBits*GetDeviceCaps(hDC,PLANES);
	//pDC=GetDC();
	//int num=pDC->GetDeviceCaps(SIZEPALETTE);
	DeleteDC(hDC);
	//計算調色板大小
	wBitCount=iBits/8;
	if (wBitCount<=8)
		dwPaletteSize = (1<<wBitCount) *sizeof(RGBQUAD);
	//bitmap.LoadBitmap(IDB_BITMAP1);
	//設置位圖信息頭結構
	GetObject(HBITMAP(bitmap), sizeof(BITMAP), (LPSTR)&Bitmap);
	bi.biSize            = sizeof(BITMAPINFOHEADER);
	bi.biWidth           = Bitmap.bmWidth;
	bi.biHeight          = Bitmap.bmHeight;
	bi.biPlanes          = 1;
	bi.biBitCount         = wBitCount;
	bi.biCompression      = BI_RGB;
	bi.biSizeImage        = 0;
	bi.biXPelsPerMeter     = 0;
	bi.biYPelsPerMeter     = 0;
	bi.biClrUsed         = 0;
	bi.biClrImportant      = 0;
	
	dwBmBitsSize = ((Bitmap.bmWidth*wBitCount+31)/32)*4*Bitmap.bmHeight;
	//為位圖內容分配內存
	hDib  = GlobalAlloc(GHND,dwBmBitsSize+dwPaletteSize+sizeof(BITMAPINFOHEADER));
	lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDib);
	*lpbi = bi;
	// 處理調色板   
	hPal = GetStockObject(DEFAULT_PALETTE);
	if (hPal)
	{
		hDC=(HDC)GetDC();
		hOldPal = SelectPalette(hDC,(HPALETTE)hPal, FALSE);
		RealizePalette(hDC);
	}
	// 獲取該調色板下新的像素值
	GetDIBits(hDC,hBitmap,0,(UINT)Bitmap.bmHeight,(LPSTR)lpbi+sizeof(BITMAPINFOHEADER)+dwPaletteSize,(LPBITMAPINFO)lpbi,DIB_RGB_COLORS);
	//恢復調色板   
	if (hOldPal)
	{
		SelectPalette(hDC, (HPALETTE)hOldPal, TRUE);
		RealizePalette(hDC);
		::ReleaseDC(NULL,hDC);
	}
	//創建位圖文件    
	fh = CreateFile(lpFileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL);
	if (fh == INVALID_HANDLE_VALUE)
		return FALSE;
	// 設置位圖文件頭
	bmfHdr.bfType = 0x4D42;  // "BM"
	dwDIBSize    = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER)+ dwPaletteSize + dwBmBitsSize;  
	bmfHdr.bfSize = dwDIBSize;
	bmfHdr.bfReserved1 = 0;
	bmfHdr.bfReserved2 = 0;
	bmfHdr.bfOffBits = (DWORD)sizeof(BITMAPFILEHEADER) + (DWORD)sizeof(BITMAPINFOHEADER)+ dwPaletteSize;
	// 寫入位圖文件頭
	WriteFile(fh, (LPSTR)&bmfHdr, sizeof(BITMAPFILEHEADER), &dwWritten, NULL);
	// 寫入位圖文件其余內容
	WriteFile(fh, (LPSTR)lpbi,dwDIBSize,&dwWritten, NULL);
	//清除   
	GlobalUnlock(hDib);
	GlobalFree(hDib);
	CloseHandle(fh);
	return 1;
}

void CTestTxtToBmpDlg::OnButton1() 
{
	// TODO: Add your control notification handler code here
	/*CDC * pDC;
	pDC=this->GetDC();
	CDC memdc;
	CBitmap bitmap;
	CRect rect;
	::GetClientRect(::GetDlgItem(this->m_hWnd,IDC_SS),rect);
	memdc.CreateCompatibleDC(NULL);
	bitmap.CreateCompatibleBitmap(&memdc,rect.Width(),rect.Height());
	memdc.SelectObject(&bitmap);
	memdc.FillSolidRect(0,0,rect.Width(),rect.Height(),RGB(255,255,255));
	memdc.TextOut(0,0,"abcdefgabcdefgabcdefgabcdefgabcdefgvabcdefg");
	pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memdc,0,0,SRCCOPY);*/
	SaveBitmap();
}

BOOL CTestTxtToBmpDlg::WriteDib()
{

return 1;


}

void CTestTxtToBmpDlg::SaveBitmap()
{
	CDC * pDC;
	pDC=this->GetDC();
	CDC memdc;
	CBitmap bitmap;
	CRect rect;
	::GetClientRect(::GetDlgItem(this->m_hWnd,IDC_SS),rect);
	memdc.CreateCompatibleDC(pDC);
	bitmap.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height());
	memdc.SelectObject(&bitmap);
	memdc.FillSolidRect(0,0,rect.Width(),rect.Height(),RGB(0,255,0));
	memdc.TextOut(0,0,"abcdefgabcdefgabcdefgabcdefgabcdefgvabcdefg");
	pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memdc,0,0,SRCCOPY);
	BITMAP btm;
	bitmap.GetBitmap(&btm);
	DWORD size=btm.bmWidthBytes*btm.bmHeight;
	//LPSTR lpData=(LPSTR)GlobalAllocPtr(GPTR,size);
	char *lpData=new char[size];
	//HANDLE hDib=GlobalAlloc(GHND,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(memdc,bitmap,0,bih.biHeight,lpData,(BITMAPINFO*)&bih,DIB_RGB_COLORS);
	//bm.GetBitmapBits(size,lpData);//(LPSTR)hDib
	BITMAPFILEHEADER bfh;
	bfh.bfReserved1=bfh.bfReserved2=0;
	bfh.bfType=0x4D42;
	bfh.bfSize=54+size;
	bfh.bfOffBits=54;
	CString name="text.bmp";
	CFile bf;
	if(bf.Open(name,CFile::modeCreate|CFile::modeWrite))
	{
		bf.WriteHuge(&bfh,sizeof(BITMAPFILEHEADER));
		bf.WriteHuge(&bih,sizeof(BITMAPINFOHEADER));
		bf.WriteHuge(lpData,size);
		bf.Close();
	}
	//GlobalFreePtr(lpData);
	delete[] lpData;
	


}

void CTestTxtToBmpDlg::OnButton2() 
{
	// TODO: Add your control notification handler code here
	jbm();
}

void CTestTxtToBmpDlg::jbm()
{
	CDC dc;
	dc.CreateDC("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位色下會出現顏色混亂
//////////////////////////////
	CString name="jbm.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)){
		bf.WriteHuge(&bfh,sizeof(BITMAPFILEHEADER));
		bf.WriteHuge(&bih,sizeof(BITMAPINFOHEADER));
		bf.WriteHuge(lpData,size);
		bf.Close();

	}
	GlobalFreePtr(lpData);
	UpdateData(FALSE);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级韩国三级日本一级| 国产精品天天摸av网| 午夜精品久久一牛影视| 欧美一区二区三区成人| 成人在线视频首页| 日韩高清欧美激情| 亚洲三级免费电影| 精品对白一区国产伦| 欧美亚洲综合在线| 精品一区二区三区影院在线午夜| 国产欧美一区二区精品性| 欧美日韩不卡一区| 99视频超级精品| 国产精品一区二区果冻传媒| 亚洲一区二区三区视频在线 | 久久久久国产成人精品亚洲午夜| av电影天堂一区二区在线| 免费欧美日韩国产三级电影| 亚洲伦理在线精品| 国产精品久久久久久久久晋中| 欧美日韩亚洲国产综合| 色综合天天天天做夜夜夜夜做| 国产一区二区0| 国产精品一区在线观看你懂的| 亚洲午夜久久久久久久久电影网| 国产精品午夜久久| 中文字幕在线观看一区| 亚洲天堂av一区| 一区二区激情视频| 一区二区三区国产精华| 一区二区三区中文在线观看| 一区二区三区成人| 日韩国产成人精品| 久久精品免费看| 成人成人成人在线视频| 99久久久久免费精品国产| 色综合中文字幕| 正在播放亚洲一区| 久久精品视频一区二区三区| 国产欧美日韩另类视频免费观看| 中文字幕不卡在线| 亚洲va天堂va国产va久| 久久精品国产网站| 波多野结衣中文字幕一区| 91久久国产最好的精华液| 精品少妇一区二区三区在线播放| 久久欧美中文字幕| 一区二区三区四区不卡在线 | 国产精品无圣光一区二区| 亚洲精品日产精品乱码不卡| 久久av资源网| 91亚洲精品久久久蜜桃| 日韩欧美高清在线| 亚洲最大色网站| 成人黄色综合网站| 日韩欧美三级在线| 日韩中文字幕麻豆| 欧美午夜精品久久久| 国产精品欧美一级免费| 国产精品99久久久久久有的能看| 91福利视频在线| 亚洲精品美腿丝袜| 北岛玲一区二区三区四区| 国产香蕉久久精品综合网| 精品影视av免费| 91精品午夜视频| 美女尤物国产一区| 日韩一区二区精品在线观看| 亚洲图片自拍偷拍| 日韩区在线观看| 精品亚洲aⅴ乱码一区二区三区| 欧美精品少妇一区二区三区| 亚洲成人黄色小说| 欧美一区二区视频观看视频| 久久精品999| 国产精品不卡在线观看| 色综合久久久久综合体| 亚洲午夜久久久久| 久久精品亚洲一区二区三区浴池| 国产精品一区在线观看你懂的| 久久精品一区二区| 欧美性大战久久久久久久蜜臀| 一区二区在线看| 精品国内二区三区| 99精品偷自拍| 丝袜a∨在线一区二区三区不卡| 91麻豆精品国产自产在线观看一区 | 欧美r级在线观看| 国产成人日日夜夜| 天天射综合影视| 成人免费小视频| 日韩欧美二区三区| 欧洲精品视频在线观看| 国产一区二区三区高清播放| 亚洲精品老司机| 欧美高清在线一区二区| 日韩三级中文字幕| 欧洲av一区二区嗯嗯嗯啊| 国内不卡的二区三区中文字幕 | 国产目拍亚洲精品99久久精品| 欧美日本一道本| 欧美色男人天堂| 欧美系列亚洲系列| 成人激情视频网站| 国产精品中文欧美| 国产一区二区0| 国产精品自在欧美一区| 日韩不卡一区二区| 日本视频在线一区| 日本成人中文字幕| 久久av资源网| 国产成人亚洲综合a∨猫咪| 国产精品综合一区二区三区| 国内欧美视频一区二区| 久久99精品国产.久久久久久| 麻豆高清免费国产一区| 日韩精品亚洲一区| 丝袜美腿亚洲一区| 国产米奇在线777精品观看| 国产一区二区在线观看免费| 国产一区二区三区香蕉| 丁香啪啪综合成人亚洲小说| 99精品欧美一区二区三区综合在线| 色婷婷av一区| 久久综合久久久久88| 亚洲视频小说图片| 日本女人一区二区三区| 成人国产精品免费观看视频| 在线一区二区视频| 欧美大胆一级视频| 亚洲欧美偷拍三级| 国产一本一道久久香蕉| 在线观看欧美黄色| 欧美国产丝袜视频| 视频一区视频二区中文字幕| 成人中文字幕合集| 91精品国产欧美日韩| 亚洲视频中文字幕| 成人综合婷婷国产精品久久| 91精品国产91热久久久做人人| 国产精品三级在线观看| 久久疯狂做爰流白浆xx| 欧美三级韩国三级日本一级| 中文字幕制服丝袜一区二区三区| 国产成人av在线影院| 精品嫩草影院久久| 日本美女视频一区二区| 欧美xxxxxxxx| 久久99久久精品| 日韩精品专区在线| 日韩精品电影在线观看| 精品视频在线免费观看| 午夜日韩在线电影| 欧美精品久久一区| 久久99久久久欧美国产| 久久九九99视频| jiyouzz国产精品久久| 亚洲天堂免费在线观看视频| 99国产精品久久久| 亚洲综合免费观看高清在线观看| 欧美日韩国产综合一区二区| 亚洲第一搞黄网站| 日韩午夜电影在线观看| 顶级嫩模精品视频在线看| 国产精品成人免费精品自在线观看| a4yy欧美一区二区三区| 夜夜嗨av一区二区三区| 日韩西西人体444www| 成人av网站在线观看免费| 一区二区免费视频| 日韩精品在线网站| 色综合婷婷久久| 久久99精品网久久| 亚洲成人综合在线| 国产午夜精品一区二区| 欧美在线看片a免费观看| 久国产精品韩国三级视频| 亚洲码国产岛国毛片在线| 久久综合久久综合九色| 欧美日韩极品在线观看一区| 成人aa视频在线观看| 美日韩一级片在线观看| 五月激情六月综合| 国产精品久久久久久久浪潮网站| 欧美一级欧美三级在线观看| av在线一区二区三区| 国产在线国偷精品产拍免费yy| 亚洲一级二级三级在线免费观看| 国产精品你懂的在线| 久久美女艺术照精彩视频福利播放 | 99久久久国产精品免费蜜臀| 久热成人在线视频| 美女在线视频一区| 久久精品国产秦先生| 麻豆精品视频在线观看| 蜜臀精品久久久久久蜜臀| 麻豆精品精品国产自在97香蕉| 奇米影视7777精品一区二区| 午夜影视日本亚洲欧洲精品| 亚洲国产日韩a在线播放 |