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

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

?? dib.cpp

?? 模式識別中人臉的檢測與定位所包含的算法程序(facedetect)
?? 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一区二区三区免费野_久草精品视频
91原创在线视频| 99久久精品免费看国产| 国产99久久久久久免费看农村| 成人精品一区二区三区四区 | 欧美精品一区二区三区在线播放| 国产精品毛片a∨一区二区三区| 午夜精品在线看| 99久久婷婷国产| 26uuu久久综合| 蜜桃一区二区三区在线观看| 色综合天天天天做夜夜夜夜做| 2021国产精品久久精品| 日本一不卡视频| 在线免费亚洲电影| 亚洲日本电影在线| 成人app软件下载大全免费| 337p粉嫩大胆噜噜噜噜噜91av | 亚洲欧美乱综合| 国产精品香蕉一区二区三区| 日韩精品一区二区三区老鸭窝| 亚洲综合一区二区三区| 99久久免费精品| 中文字幕欧美国产| 国产99一区视频免费| 国产亚洲1区2区3区| 经典三级视频一区| 欧美成人一区二区三区片免费| 丝袜美腿亚洲一区二区图片| 欧美三级韩国三级日本一级| 亚洲成人av一区| 欧美年轻男男videosbes| 亚洲国产欧美日韩另类综合 | 日韩一区二区免费在线观看| 午夜电影久久久| 日韩情涩欧美日韩视频| 久久99精品视频| 久久尤物电影视频在线观看| 国产一区二区久久| 国产亚洲精品超碰| 成人免费毛片app| 中文字幕日本乱码精品影院| 97成人超碰视| 亚洲国产日韩av| 欧美一区二区三区不卡| 久久99精品久久久| 国产日产欧美精品一区二区三区| 粉嫩av亚洲一区二区图片| 欧美国产在线观看| 色狠狠综合天天综合综合| 亚洲第一综合色| 精品国产91久久久久久久妲己| 激情五月激情综合网| 欧美国产欧美亚州国产日韩mv天天看完整| 丰满亚洲少妇av| 亚洲免费观看高清完整版在线观看熊| 日本精品视频一区二区| 亚洲成人自拍一区| 精品国产免费久久| 99国产欧美另类久久久精品| 亚洲成人资源网| 亚洲精品一区在线观看| 色婷婷综合视频在线观看| 亚洲h精品动漫在线观看| 久久网这里都是精品| 色哟哟国产精品免费观看| 性做久久久久久免费观看| 精品国产乱码久久久久久图片| 不卡一区在线观看| 亚洲大尺度视频在线观看| 久久久久国产免费免费| 91日韩一区二区三区| 日韩影视精彩在线| 国产精品久久久久影院亚瑟| 欧美日韩一区国产| 不卡av在线网| 美女脱光内衣内裤视频久久影院| 国产精品欧美久久久久无广告| 欧美日本一区二区在线观看| av在线播放成人| 激情久久五月天| 亚洲一卡二卡三卡四卡无卡久久| 日韩视频在线永久播放| 色婷婷香蕉在线一区二区| 久久99国产精品免费| 一级中文字幕一区二区| 国产午夜精品一区二区三区嫩草| 欧美在线看片a免费观看| 国产精品66部| 蜜臀久久99精品久久久久宅男 | 天天爽夜夜爽夜夜爽精品视频| 国产色产综合色产在线视频| 欧美一区二区三区婷婷月色| www.激情成人| 成人黄色软件下载| 国产乱子轮精品视频| 久久精品av麻豆的观看方式| 亚洲成人动漫一区| 亚洲一区二区三区在线看| 中文字幕一区二| 国产精品入口麻豆九色| 久久精品人人做人人综合| 欧美mv日韩mv国产| 欧美一二三在线| 51精品国自产在线| 欧美日本一区二区| 欧美日韩精品一区二区天天拍小说 | 欧美日韩在线亚洲一区蜜芽| 色综合久久久久久久| www.性欧美| 大白屁股一区二区视频| 国产在线观看免费一区| 黄一区二区三区| 国产中文字幕一区| 国产一区在线精品| 欧美体内she精高潮| 91看片淫黄大片一级在线观看| 不卡电影一区二区三区| 成人福利在线看| 91色视频在线| 欧洲国产伦久久久久久久| 欧美性猛交xxxx黑人交| 欧美高清精品3d| 日韩午夜在线观看| 精品国产免费人成电影在线观看四季| 日韩欧美国产系列| 亚洲精品在线免费观看视频| 久久久久久久久蜜桃| 欧美国产一区二区在线观看 | 亚洲风情在线资源站| 天堂成人国产精品一区| 青青国产91久久久久久| 美女脱光内衣内裤视频久久影院| 久久99精品国产麻豆不卡| 国产成人在线色| 色www精品视频在线观看| 欧美日韩一区二区三区不卡| 91精品国产一区二区三区香蕉| 日韩欧美在线影院| 国产视频一区二区在线| 国产精品电影院| 日韩专区一卡二卡| 国产一区二区女| 欧洲一区二区三区在线| 日韩免费高清视频| 国产精品久久久久一区| 亚洲第一二三四区| 国产精品1区2区3区在线观看| 成人丝袜视频网| 5858s免费视频成人| 国产精品色婷婷| 日本va欧美va瓶| 99视频一区二区三区| 欧美精品久久99久久在免费线 | 亚洲一区二区三区视频在线播放 | 久久综合av免费| 亚洲亚洲精品在线观看| 国产专区欧美精品| 欧美人牲a欧美精品| 国产午夜精品福利| 亚洲日本护士毛茸茸| 六月丁香婷婷色狠狠久久| 97精品久久久午夜一区二区三区| 在线观看国产精品网站| 日本一区二区免费在线| 奇米一区二区三区av| 日本高清不卡一区| 久久久美女艺术照精彩视频福利播放 | 亚洲福中文字幕伊人影院| 国产一区二区在线影院| 欧美精品久久99| 亚洲精品国产一区二区精华液 | 青青草国产成人99久久| 成人激情免费网站| 日韩亚洲欧美中文三级| 亚洲乱码中文字幕| 久久精品国产久精国产| 欧美日韩精品一区二区天天拍小说 | 亚洲欧美日韩国产综合| 狠狠久久亚洲欧美| 4438成人网| 午夜久久久久久久久久一区二区| 成人国产精品免费网站| 久久久久久久久97黄色工厂| 亚洲国产精品一区二区尤物区| 成人免费毛片嘿嘿连载视频| 久久久久久久综合狠狠综合| 日本va欧美va精品| 欧美久久久影院| 午夜精品一区二区三区三上悠亚| av亚洲产国偷v产偷v自拍| 久久精子c满五个校花| 精品一区二区三区久久| 在线观看91av| 日日摸夜夜添夜夜添精品视频| 色噜噜狠狠一区二区三区果冻| 综合久久给合久久狠狠狠97色| 国产高清成人在线| 久久精品在这里| 成人污视频在线观看| 国产精品视频麻豆|