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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? viewdibdoc.cpp

?? 《精通 vc++ 圖像編程》的源代碼
?? CPP
字號:
// ViewDIBDoc.cpp : implementation of the CViewDIBDoc class
//

#include "stdafx.h"
#include "ViewDIB.h"

#include "ViewDIBDoc.h"
#include "LoadTifDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CViewDIBDoc

IMPLEMENT_DYNCREATE(CViewDIBDoc, CDocument)

BEGIN_MESSAGE_MAP(CViewDIBDoc, CDocument)
	//{{AFX_MSG_MAP(CViewDIBDoc)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CViewDIBDoc construction/destruction

CViewDIBDoc::CViewDIBDoc()
{
	m_pDib = new CDib;
}

CViewDIBDoc::~CViewDIBDoc()
{
	delete m_pDib;
}

BOOL CViewDIBDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	// TODO: add reinitialization code here
	// (SDI documents will reuse this document)

	return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CViewDIBDoc serialization

void CViewDIBDoc::Serialize(CArchive& ar)
{
	m_pDib->Serialize(ar);
	if (ar.IsStoring())
	{
		// TODO: add storing code here
	}
	else
	{
		// TODO: add loading code here
	}
}

/////////////////////////////////////////////////////////////////////////////
// CViewDIBDoc diagnostics

#ifdef _DEBUG
void CViewDIBDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CViewDIBDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CViewDIBDoc commands

BOOL CViewDIBDoc::OnOpenDocument(LPCTSTR lpszPathName) 
{
	char drive[_MAX_DRIVE];   
	char dir[_MAX_DIR];
	char fname[_MAX_FNAME];   
	char ext[_MAX_EXT];
	_splitpath(lpszPathName, drive, dir, fname, ext);   

	if (! stricmp(ext, ".gif")) // GIF file
	{
		CGif gif;
		if (! gif.Load(lpszPathName))
			return FALSE;

		HDIB hDIB = CopyHandle(gif.GetDib()->GetHandle());
		if (hDIB == NULL)
			return FALSE;

		m_pDib->Attach(hDIB);
	
		return TRUE;
	}
	else if (! stricmp(ext, ".jpg") ||
			 ! stricmp(ext, ".jpe") ||
			 ! stricmp(ext, ".jpeg") ) // JPEG file
	{
		CJpeg jpeg;
		if (! jpeg.Load(lpszPathName))
			return FALSE;

		HDIB hDIB = CopyHandle(jpeg.GetDib()->GetHandle());
		if (hDIB == NULL)
			return FALSE;

		m_pDib->Attach(hDIB);
	
		return TRUE;
	}
	else if (! stricmp(ext, ".pcx")) // PCX file
	{
		CPcx pcx;
		if (! pcx.Load(lpszPathName))
			return FALSE;

		HDIB hDIB = CopyHandle(pcx.GetDib()->GetHandle());
		if (hDIB == NULL)
			return FALSE;

		m_pDib->Attach(hDIB);
	
		return TRUE;
	}
	else if (! stricmp(ext, ".tga")) // TGA file
	{
		CTga tga;
		if (! tga.Load(lpszPathName))
			return FALSE;

		HDIB hDIB = CopyHandle(tga.GetDib()->GetHandle());
		if (hDIB == NULL)
			return FALSE;

		m_pDib->Attach(hDIB);
	
		return TRUE;
	}
	else if (! stricmp(ext, ".tif") ||
			 ! stricmp(ext, ".tiff")) // TIF file
	{
		CTif tif;
		if (! tif.Load(lpszPathName))
			return FALSE;

		CLoadTifDlg loadTifDlg(lpszPathName, tif.m_wIFDNum);
		if (loadTifDlg.DoModal() != IDOK)
			return FALSE;

		int *nPageList = new int[tif.m_wIFDNum];
		int nLoadPageNum = 0;
		if (loadTifDlg.m_bLoadAll)
		{
			nLoadPageNum = tif.m_wIFDNum;
			for (int i=0; i<nLoadPageNum; i++)
				nPageList[i] = i;
		}
		else
		{
			CString s = loadTifDlg.m_strPages;
			int nLen = s.GetLength();
			for (int i=0;i<nLen;++i)
			{
				if (s[i] == ' ' || s[i] == 32)
					s.Delete(i);
				nLen = s.GetLength();
			}
			while (1)
			{
				int n = s.Find(',');
				if (n == -1)
					break;

				CString strPage = s.Left(n);
				s.Delete(0, n+1);

				int nPage = atoi((LPCSTR)strPage) - 1;
				if (nPage >=0 && nPage < tif.m_wIFDNum)
					nPageList[nLoadPageNum++] = nPage;

				if (nLoadPageNum >= tif.m_wIFDNum)
					break;
			}
			if (nLoadPageNum < tif.m_wIFDNum)
			{
				int nPage = atoi((LPCSTR)s) - 1;
				if (nPage >=0 && nPage < tif.m_wIFDNum)
					nPageList[nLoadPageNum++] = nPage;
			}
		}

		if (nLoadPageNum == 0)
			return FALSE;

		CViewDIBApp* pApp = (CViewDIBApp *)AfxGetApp();
		for (int i=nLoadPageNum-1; i>0; i--)
		{
			CString strTitle;
			CString s = lpszPathName;
			s += " p%d";
			strTitle.Format((LPCTSTR)s, nPageList[i]+1);
			pApp->AddFile(CopyHandle(tif.m_DibList[nPageList[i]].GetHandle()), (LPCTSTR)strTitle);
		}

		// set the first selected page as current document
		HDIB hDIB = CopyHandle(tif.m_DibList[nPageList[0]].GetHandle());
		if (hDIB == NULL)
			return FALSE;
		m_pDib->Attach(hDIB);

		CString s = lpszPathName;
		s += " p%d";
		m_strTifPathName.Format((LPCTSTR)s, nPageList[0]+1);
		m_bLoadTif = TRUE;
		pApp->AddToRecentFileList(lpszPathName);
		SetModifiedFlag(TRUE);
	
		return TRUE;
	}

	return CDocument::OnOpenDocument(lpszPathName);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本在线播放一区二区三区| 一区二区理论电影在线观看| 成人黄色小视频在线观看| 亚洲视频香蕉人妖| 91麻豆精品国产91久久久久久久久 | 在线电影院国产精品| 国产麻豆精品视频| 亚洲国产成人tv| 国产精品免费丝袜| 日韩视频免费观看高清完整版在线观看 | 亚洲欧洲无码一区二区三区| 欧美精品精品一区| 91色视频在线| 国产盗摄一区二区三区| 日韩精品欧美精品| 亚洲欧美日韩国产成人精品影院| 日韩欧美在线网站| 欧美亚洲另类激情小说| 成人不卡免费av| 狠狠色狠狠色综合日日91app| 一区二区三区产品免费精品久久75| 久久嫩草精品久久久精品一| 欧美日韩国产另类一区| 欧美一区二区日韩一区二区| 91免费国产在线| 国产v日产∨综合v精品视频| 麻豆久久久久久| 丝袜a∨在线一区二区三区不卡| 亚洲精品中文字幕乱码三区| 国产精品乱人伦| 国产日韩av一区二区| 精品国产91洋老外米糕| 日韩一级大片在线观看| 欧美日韩国产综合一区二区三区 | 日韩三级av在线播放| 欧美日韩日日夜夜| 色婷婷综合久久| 一本色道久久加勒比精品| 成人免费毛片嘿嘿连载视频| 国产成人免费av在线| 国产剧情av麻豆香蕉精品| 久久精品国产一区二区| 麻豆精品久久精品色综合| 青青草一区二区三区| 日本视频中文字幕一区二区三区| 亚洲18女电影在线观看| 亚洲成年人影院| 婷婷成人综合网| 男女性色大片免费观看一区二区| 日本成人超碰在线观看| 青青草国产成人av片免费| 美腿丝袜在线亚洲一区| 麻豆91在线看| 国产成人综合在线观看| 成人午夜在线视频| 色综合久久天天| 欧美日韩你懂的| 日韩欧美一级在线播放| 2021国产精品久久精品| 国产精品久久久久精k8 | 久久久久久97三级| 国产欧美精品区一区二区三区| 国产精品麻豆久久久| 亚洲欧美电影院| 亚洲123区在线观看| 久久99精品国产麻豆婷婷洗澡| 国产精品一区二区在线观看不卡| 成人美女在线观看| 欧美亚洲禁片免费| 欧美色电影在线| 中文字幕在线一区| 国产精品美女一区二区三区| 国产偷v国产偷v亚洲高清| 欧美激情一区二区三区蜜桃视频| 国产精品视频九色porn| 亚洲日本丝袜连裤袜办公室| 亚洲欧美日韩中文播放| 夜夜精品视频一区二区| 国产精品免费网站在线观看| 一区二区在线观看不卡| 日韩欧美在线综合网| 中文字幕巨乱亚洲| 亚洲高清久久久| 国产精品夜夜爽| 色综合激情五月| 精品少妇一区二区三区视频免付费 | 国产在线不卡一卡二卡三卡四卡| 成年人网站91| 91精品国产色综合久久久蜜香臀| 久久久影院官网| 亚洲小说春色综合另类电影| 极品少妇xxxx偷拍精品少妇| 91亚洲国产成人精品一区二区三| 7777精品伊人久久久大香线蕉超级流畅 | 欧美在线观看你懂的| 欧美一二三区精品| 综合久久国产九一剧情麻豆| 麻豆精品久久精品色综合| 色就色 综合激情| 精品国产制服丝袜高跟| 一区二区三国产精华液| 国产精品88888| 91精品婷婷国产综合久久| 一色桃子久久精品亚洲| 黄色小说综合网站| 欧美色爱综合网| 亚洲欧洲在线观看av| 国产一区二区女| 欧美一区二区在线观看| 亚洲精品欧美专区| 大白屁股一区二区视频| 日韩精品在线一区二区| 亚洲国产一区二区视频| caoporn国产精品| 久久久久久久久久看片| 日韩电影在线免费| 欧美中文字幕一二三区视频| 亚洲欧美综合色| 成人网在线播放| 精品久久免费看| 蜜桃av一区二区三区| 欧美日韩一级视频| 一区二区三区在线看| 99久久er热在这里只有精品66| 夜夜嗨av一区二区三区网页| 99视频精品在线| 国产亚洲制服色| 国内成+人亚洲+欧美+综合在线| 欧美一区二区三区爱爱| 日韩主播视频在线| 欧美日韩国产综合一区二区三区| 亚洲精品久久久蜜桃| 91免费视频网| 亚洲精品欧美专区| 日本高清不卡一区| 一区二区三区毛片| 欧美亚洲尤物久久| 亚洲电影中文字幕在线观看| 在线影视一区二区三区| 一区二区免费看| 欧美丝袜第三区| 丝袜亚洲另类欧美| 91精品国产综合久久福利软件| 性做久久久久久| 日韩欧美三级在线| 九九视频精品免费| 国产婷婷色一区二区三区在线| 国产精品一区免费在线观看| 中文在线资源观看网站视频免费不卡 | 欧美日本乱大交xxxxx| 性做久久久久久久久| 欧美一区二区观看视频| 久久99国产精品免费| 久久久久久久久97黄色工厂| 国产91富婆露脸刺激对白| 国产精品妹子av| 欧美色图片你懂的| 蜜桃免费网站一区二区三区| 欧美精品一区二区三区在线播放| 国产传媒欧美日韩成人| 亚洲精品国产精华液| 欧美剧情片在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 91精品国产入口在线| 久久爱www久久做| 国产精品久久影院| 欧美亚洲一区二区在线| 青娱乐精品视频在线| 久久久久久久久久看片| 日本乱人伦aⅴ精品| 青青草原综合久久大伊人精品优势 | 91麻豆swag| 日本成人中文字幕在线视频| 国产区在线观看成人精品 | 久久精品国产999大香线蕉| 久久久九九九九| 欧美色图片你懂的| 精品一区二区久久久| 亚洲乱码中文字幕| 3751色影院一区二区三区| 国产成人精品免费| 亚洲在线免费播放| 久久久久久黄色| 欧美视频一区二区三区在线观看| 人人爽香蕉精品| 亚洲欧美另类小说| 精品少妇一区二区三区在线播放| 91免费版pro下载短视频| 美女视频黄频大全不卡视频在线播放| 中文字幕免费观看一区| 欧美日韩不卡一区| 成人av网站在线观看免费| 五月婷婷综合在线| 国产精品灌醉下药二区| 日韩美女一区二区三区| 色婷婷久久综合| 国产成人精品三级麻豆| 免费观看30秒视频久久| 亚洲一区二区三区四区五区中文| 久久精品水蜜桃av综合天堂|