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

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

?? dib.cpp

?? 人臉檢測定位的示例代碼.rar VC++源碼
?? CPP
字號:
// Dib.cpp: implementation of the CDib class.
//
//////////////////////////////////////////////////////////////////////

#include "StdAfx.h"
#include "Dib.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDib::CDib()
{
	m_hDrawDib=NULL;
	m_pDib=NULL;
}

CDib::~CDib()
{
	Close();
}

void CDib::Draw(CDC *pDC,int nWidth, int nHeight)
{
	if(m_pDib!=NULL)
	{
	ASSERT(IsValid());
	DrawDibRealize(m_hDrawDib,pDC->GetSafeHdc(),TRUE);
	DrawDibDraw(m_hDrawDib,pDC->GetSafeHdc(),
				0,  //desktop left
				0,  //desktop top
				nWidth,
				nHeight,
				(BITMAPINFOHEADER *)m_pDib,
				(LPVOID) GetBits(),
				0,  //source left
				0,  //source top
				((BITMAPINFOHEADER *)m_pDib)->biWidth,
				((BITMAPINFOHEADER *)m_pDib)->biHeight,
				DDF_BACKGROUNDPAL);
	}
}

CSize CDib::GetSize()
{
	return CSize(((BITMAPINFOHEADER *)m_pDib)->biWidth,
				 ((BITMAPINFOHEADER *)m_pDib)->biHeight);	
}

LONG CDib::GetWidth()
{
	return ((BITMAPINFOHEADER *)m_pDib)->biWidth;
}

LONG CDib::GetHeight()
{
	return	((BITMAPINFOHEADER *)m_pDib)->biHeight;
}

void CDib::Close()
{
	if(m_hDrawDib!=NULL)
	{
		DrawDibClose(m_hDrawDib);
		m_hDrawDib=NULL;
	}

	if(m_pDib!=NULL)
	{
		delete m_pDib;
		m_pDib=NULL;
	}
}

BOOL CDib::Open(const char * pzFileName)
{
//	BITMAPFILEHEADER bmpFileHeader;
	CFile file;
	int nBmpFileHeaderSize;

	Close();

	//drawdibopen initialize the diradib library and 
	//returns a handle for all drawdib operations
	if(!(m_hDrawDib=DrawDibOpen()))
		goto exit;

 	//open and read the DIB file header
	nBmpFileHeaderSize=sizeof(BITMAPFILEHEADER);

	if(!file.Open(pzFileName,CFile::modeRead | CFile::typeBinary))
		goto exit;

	if(file.Read((void *)&bmpFileHeader,nBmpFileHeaderSize)!=(UINT)nBmpFileHeaderSize)
		goto failure;

	//validate the DIB file header by checking the first
	//two characters for the signature "BM"
	if(bmpFileHeader.bfType!=*((WORD *)"BM"))
		goto failure;

	//allocate a big chuck of global memory to store the DIB
	m_pDib=(BYTE *)new char [bmpFileHeader.bfSize-nBmpFileHeaderSize];

	//allocate memory fail
	if(!m_pDib)
		goto failure;

	//read the dib into the buffer at a time using ReadHuge
	file.ReadHuge(m_pDib,bmpFileHeader.bfSize-nBmpFileHeaderSize);

	if(((BITMAPINFOHEADER *)m_pDib)->biSizeImage==0)
	{
		//the application that create this bitmap didn't fill
		//in the biSizeImage field. Let's fill it
		//in even though the DrawDib * functions don't need it.
		BITMAPINFOHEADER *pDib=(BITMAPINFOHEADER *)m_pDib;

		//scan lines must be DWord aligned, hence the strange bit stuff
		pDib->biSizeImage=((((pDib->biWidth*pDib->biBitCount)+31)&~31)>>3)*pDib->biHeight;
	}

	m_pDibBits=GetBits();

	file.Close();
	return TRUE;

failure:
	file.Close();
exit:
	Close();
	return FALSE;
}

BOOL CDib::Save(const char * pzFileName)
{
//	BITMAPFILEHEADER bmpFileHeader;
	CFile file;
	int nBmpFileHeaderSize;

 	//open and read the DIB file header
	nBmpFileHeaderSize=sizeof(BITMAPFILEHEADER);

	if(!file.Open(pzFileName,CFile::modeCreate | CFile::modeWrite | CFile::typeBinary))
		goto exit;

	file.Write(&bmpFileHeader,nBmpFileHeaderSize); 

	//allocate memory fail
	if(!m_pDib)
		goto failure;

	//read the dib into the buffer at a time using ReadHuge
	file.WriteHuge(m_pDib,bmpFileHeader.bfSize-nBmpFileHeaderSize);

	file.Close();
	return TRUE;

failure:
	file.Close();
exit:
	return FALSE;
}

BYTE * CDib::GetBits()
{
	//the size of the color map is determined by the number
	//of RGBQUAD structures presend.
	//it also depends on the bit_depth of the Dib
	DWORD dwNumColors,dwColorTableSize;
	BITMAPINFOHEADER *lpDib=(BITMAPINFOHEADER *)m_pDib;

	WORD wBitCount=lpDib->biBitCount;

	if(lpDib->biSize>=36)
		dwNumColors=lpDib->biClrUsed;
	else
		dwNumColors=0;

	if(dwNumColors==0)
	{
		if(wBitCount!=24)
			dwNumColors=1L<<wBitCount;
		else 
			dwNumColors=0;
	}

	dwColorTableSize=dwNumColors*sizeof(RGBQUAD);

	return m_pDib+lpDib->biSize+dwColorTableSize;
}

int CDib::GetBiBitCount()
{
	if(m_pDib!=NULL)
		return ((BITMAPINFOHEADER *)m_pDib)->biBitCount; 
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美视频一区二区三区| 日韩精品一区二区三区蜜臀 | 蜜桃av一区二区三区| 一区二区三区四区中文字幕| 中文字幕av一区 二区| 日本一区二区三区在线不卡| 精品盗摄一区二区三区| 日韩美一区二区三区| 欧美r级在线观看| 精品嫩草影院久久| 久久久久国产成人精品亚洲午夜| 欧美精品一区二区三区蜜桃| 在线电影一区二区三区| 在线播放欧美女士性生活| 欧美放荡的少妇| 精品国产免费人成在线观看| 久久久久久久久久美女| 中文字幕亚洲在| 亚洲国产一区在线观看| 青青草成人在线观看| 国产制服丝袜一区| av不卡在线观看| 精品视频1区2区| 日韩欧美电影一区| 国产精品三级av| 亚洲成a人片在线观看中文| 精品中文字幕一区二区| 岛国一区二区在线观看| 91福利小视频| 日韩欧美高清dvd碟片| 国产精品午夜在线| 亚洲成人av一区二区| 国产一区二区中文字幕| 91免费观看视频在线| 91精品国产综合久久久久久久| 久久先锋影音av鲁色资源 | 不卡影院免费观看| 欧美日韩精品免费观看视频| 亚洲精品一区二区三区影院 | 天堂蜜桃91精品| 国产成人一区在线| 欧美日韩不卡视频| 中文字幕综合网| 激情欧美一区二区三区在线观看| 色综合久久久久网| 久久精品一区二区| 人妖欧美一区二区| 一本久久综合亚洲鲁鲁五月天| 日韩你懂的在线观看| 亚洲美女屁股眼交| 久久99国内精品| 欧美性大战久久| 中文字幕日韩一区二区| 精品一区二区三区免费毛片爱 | 欧美人牲a欧美精品| 亚洲国产成人私人影院tom | 精品一区二区三区蜜桃| 日本乱人伦aⅴ精品| 国产精品欧美一区喷水| 久久se精品一区二区| 欧美日韩精品欧美日韩精品一综合| 国产精品天美传媒沈樵| 国产精品夜夜嗨| 欧美一级二级在线观看| 日韩一区欧美二区| 在线观看三级视频欧美| 中文字幕一区二区不卡| 处破女av一区二区| 国产日本欧洲亚洲| 国产老女人精品毛片久久| 日韩视频一区二区在线观看| 亚洲一二三四区不卡| 欧洲亚洲国产日韩| 亚洲精品乱码久久久久久久久| 成人国产亚洲欧美成人综合网| 久久婷婷一区二区三区| 激情五月婷婷综合网| 日韩你懂的在线观看| 精品制服美女丁香| 久久久国产精品不卡| 国产成人综合网站| 国产精品久久久久影院老司| 不卡一区二区在线| 亚洲桃色在线一区| 欧美亚洲国产一卡| 天天射综合影视| 日韩欧美精品在线| 国产一区二区免费视频| 亚洲国产经典视频| 91精品办公室少妇高潮对白| 亚洲午夜一二三区视频| 欧美一区二区三区在线观看视频| 麻豆久久久久久| 国产人成亚洲第一网站在线播放 | 亚洲区小说区图片区qvod| 成人av中文字幕| 一区二区三区自拍| 欧美一级免费大片| 国产精品一区2区| 成人欧美一区二区三区视频网页| 色综合久久久久综合体| 肉肉av福利一精品导航| 久久亚洲免费视频| av不卡在线播放| 国产精品一区三区| 亚洲男女毛片无遮挡| 久久久午夜精品| 成人中文字幕电影| 亚洲欧美另类久久久精品2019| 欧美亚洲国产一区在线观看网站| 免费看日韩a级影片| 中文一区二区在线观看| 91在线看国产| 裸体歌舞表演一区二区| 国产精品毛片无遮挡高清| 欧美中文字幕一区二区三区亚洲| 美腿丝袜亚洲一区| 中文字幕一区二区三区在线观看| 欧美网站大全在线观看| 国产精品一区二区久久不卡| 亚洲妇熟xx妇色黄| 中文字幕免费不卡在线| 制服丝袜日韩国产| 91免费观看视频| 国产美女视频一区| 天天综合日日夜夜精品| 综合久久久久久| 精品国产91九色蝌蚪| 欧美日韩dvd在线观看| 成人av先锋影音| 男人的天堂亚洲一区| 亚洲综合激情小说| 国产精品久久久久久久久图文区| 欧美mv和日韩mv国产网站| 欧美视频精品在线观看| 波多野结衣一区二区三区| 国产在线观看一区二区| 日本中文字幕一区| 亚洲一区成人在线| 亚洲另类春色国产| 国产精品福利在线播放| 久久久久久久久久久久久夜| 日韩欧美一级二级三级久久久| 色噜噜狠狠色综合欧洲selulu| 国产99久久久精品| 国产久卡久卡久卡久卡视频精品| 奇米一区二区三区av| 亚洲国产欧美在线| 亚洲一区av在线| 亚洲一区视频在线| 亚洲午夜免费电影| 亚洲精品中文字幕乱码三区| 国产精品水嫩水嫩| 国产精品无码永久免费888| 久久久国产精品不卡| 国产偷国产偷亚洲高清人白洁| 精品成人一区二区三区四区| 欧美成人a∨高清免费观看| 日韩无一区二区| 久久久不卡影院| 国产精品水嫩水嫩| 亚洲精品视频观看| 亚洲成人手机在线| 免费观看在线色综合| 国产一区二区三区在线观看精品 | 91.成人天堂一区| 日韩一区二区三区av| 日韩女同互慰一区二区| 精品剧情在线观看| 欧美激情艳妇裸体舞| 亚洲人快播电影网| 亚洲成av人综合在线观看| 日韩电影免费一区| 国产福利一区在线| 色狠狠av一区二区三区| 欧美女孩性生活视频| 精品久久久久一区| 中文字幕亚洲一区二区av在线| 一区二区免费看| 久久精品国产一区二区三| 国产永久精品大片wwwapp| 99这里都是精品| 日韩一区国产二区欧美三区| 国产片一区二区| 亚洲第四色夜色| 国产风韵犹存在线视精品| 欧美综合一区二区三区| 日韩免费一区二区三区在线播放| 国产精品视频你懂的| 亚洲成人综合网站| 国产一区二区三区观看| 欧美一区二区三区思思人 | 韩国av一区二区三区在线观看| 国产成a人亚洲| 欧美日韩成人激情| 中文字幕一区视频| 激情五月婷婷综合网| 欧美亚洲综合另类| 欧美激情自拍偷拍| 日本vs亚洲vs韩国一区三区二区|