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

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

?? dib.cpp

?? 如何使用MATLAB編程
?? 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| 91蜜桃免费观看视频| 国产精品羞羞答答xxdd| 国产综合色精品一区二区三区| 日本不卡一区二区三区高清视频| 久久亚洲一区二区三区四区| 欧美一级二级三级蜜桃| 亚洲人成人一区二区在线观看| 久久网这里都是精品| 亚洲国产日韩一区二区| 亚洲一区二区影院| 香蕉加勒比综合久久| av在线不卡免费看| 国产一二精品视频| 国产成人亚洲综合a∨婷婷图片| 69久久99精品久久久久婷婷| 精品国产成人在线影院| 久久精品无码一区二区三区| 欧美经典三级视频一区二区三区| 亚洲欧洲韩国日本视频| 亚洲欧洲成人精品av97| 国产精品一区二区不卡| 久久综合给合久久狠狠狠97色69| 日日夜夜免费精品视频| 国产麻豆成人传媒免费观看| 91精品国产免费| 中文字幕一区二区三区不卡| 国产成人精品亚洲午夜麻豆| 国产日韩欧美麻豆| 亚洲一二三四在线观看| 色猫猫国产区一区二在线视频| 精品视频在线免费观看| 精品免费日韩av| 最新中文字幕一区二区三区| 92国产精品观看| 日韩欧美国产电影| 1000精品久久久久久久久| 成人性生交大片| 精品免费国产一区二区三区四区| 精品制服美女丁香| 欧美亚洲愉拍一区二区| 久久久久青草大香线综合精品| 亚洲国产欧美日韩另类综合 | 亚洲日本va在线观看| 天堂久久一区二区三区| 91精品国产综合久久久久久久久久| 爽爽淫人综合网网站| 欧美成人猛片aaaaaaa| 国产a区久久久| 亚洲精品高清在线观看| 成人高清免费观看| 精品国免费一区二区三区| 国产成人综合在线| 一区二区三区av电影| 成人高清av在线| 亚洲国产精品久久一线不卡| 日韩精品一区二区在线观看| 丁香天五香天堂综合| 亚洲午夜久久久久久久久电影网| 欧美一级电影网站| jlzzjlzz亚洲日本少妇| 午夜精品免费在线| 欧美日韩黄色影视| 亚洲一卡二卡三卡四卡五卡| 精品电影一区二区| 91久久精品日日躁夜夜躁欧美| 日韩成人一级大片| 国产精品日产欧美久久久久| 国产成人精品亚洲日本在线桃色| 亚洲欧美日韩久久| 欧美成人a在线| 91丨porny丨国产| 麻豆国产欧美一区二区三区| 欧美一卡二卡在线| 成人免费观看视频| 久久99精品一区二区三区| 依依成人精品视频| 国产亚洲欧美一区在线观看| 欧美精品精品一区| 麻豆国产精品一区二区三区 | 久久精品男人的天堂| 欧美日韩高清不卡| 波多野结衣中文一区| 日本成人在线一区| 亚洲影视在线观看| 欧美国产精品久久| 日韩视频中午一区| 欧美亚日韩国产aⅴ精品中极品| 国产成人午夜精品影院观看视频| 五月婷婷久久综合| 亚洲一区二区三区四区的| 日本一区二区视频在线| 欧美大片一区二区三区| 欧美福利一区二区| 欧美影院一区二区| 色综合久久综合网| 日韩主播视频在线| 亚洲情趣在线观看| 国产精品毛片久久久久久| 日韩欧美一级二级| 欧美一卡2卡3卡4卡| 欧美日韩国产免费一区二区| 91在线一区二区三区| 成人免费三级在线| 国产精品1区2区3区在线观看| 免费观看91视频大全| 天天做天天摸天天爽国产一区| 亚洲卡通欧美制服中文| 国产精品成人网| 欧美一区二区三区爱爱| 91精品中文字幕一区二区三区| 欧美性猛交一区二区三区精品| 97精品久久久久中文字幕 | 亚洲欧洲99久久| 中文字幕一区视频| 中文字幕日本乱码精品影院| 国产精品麻豆欧美日韩ww| 国产精品高潮久久久久无| 中文字幕在线不卡一区二区三区| 亚洲欧美日韩久久精品| 亚洲第一成年网| 免费精品视频在线| 国产露脸91国语对白| 成人高清伦理免费影院在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 色综合色综合色综合色综合色综合| 99国产欧美久久久精品| 欧美综合久久久| 成人av电影在线| 91亚洲国产成人精品一区二三| 色www精品视频在线观看| 欧美系列亚洲系列| 日韩亚洲欧美一区| 国产欧美日韩麻豆91| 亚洲同性同志一二三专区| 亚洲成人自拍一区| 精品一区二区三区免费播放| 丰满少妇在线播放bd日韩电影| 色综合色狠狠综合色| 欧美一级搡bbbb搡bbbb| 久久久99免费| 夜夜夜精品看看| 激情综合五月婷婷| 91麻豆免费看片| 欧美一级日韩免费不卡| 国产女主播一区| 亚洲图片自拍偷拍| 狠狠色综合播放一区二区| 99久久精品国产网站| 欧美一级高清大全免费观看| 国产精品情趣视频| 日韩电影在线观看网站| 成人av电影免费在线播放| 91精品国产一区二区| 中文字幕一区二区日韩精品绯色| 日韩国产精品大片| 99久久婷婷国产综合精品| 欧美一区二区三区男人的天堂| 日本一区二区高清| 美女精品一区二区| 日本高清不卡aⅴ免费网站| 久久综合色一综合色88| 亚洲综合成人网| 国产精品99久久不卡二区| 91精品国产综合久久久蜜臀粉嫩| 日韩片之四级片| 亚洲一区二三区| a美女胸又www黄视频久久| 精品成人一区二区| 亚洲成a天堂v人片| 成人av影院在线| 精品久久久久久久久久久院品网 | 91精品在线免费| 亚洲日韩欧美一区二区在线| 国产麻豆成人精品| 欧美一区二区视频免费观看| 亚洲综合色网站| 成人av资源在线| 日本一区二区在线不卡| 狠狠色丁香久久婷婷综合_中| 正在播放亚洲一区| 午夜免费久久看| 欧美亚洲禁片免费| 亚洲欧美日韩在线| 99久久99久久精品国产片果冻| 久久综合五月天婷婷伊人| 美女精品自拍一二三四| 5858s免费视频成人| 亚洲成av人片在线观看无码| 91视频一区二区三区| 中文字幕一区二区三区四区不卡| 国产毛片一区二区| 久久美女高清视频| 国产成人精品亚洲日本在线桃色| 国产婷婷一区二区| 成人免费视频视频在线观看免费| 国产欧美日韩视频一区二区| 岛国一区二区三区|