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

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

?? ch1_1doc.cpp

?? vc++數字圖像處理 ,是一本很不錯的介紹數字圖像方面的書籍,這里有本書的全部源碼
?? CPP
字號:
// ch1_1Doc.cpp : implementation of the CCh1_1Doc class//#include "stdafx.h"#include "ch1_1.h"#include "ch1_1Doc.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// CCh1_1DocIMPLEMENT_DYNCREATE(CCh1_1Doc, CDocument)BEGIN_MESSAGE_MAP(CCh1_1Doc, CDocument)	//{{AFX_MSG_MAP(CCh1_1Doc)	ON_COMMAND(ID_FILE_REOPEN, OnFileReopen)	//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CCh1_1Doc construction/destructionCCh1_1Doc::CCh1_1Doc(){	// 默認背景色,灰色	m_refColorBKG = 0x00808080;			// 初始化變量	m_hDIB = NULL;	m_palDIB = NULL;	m_sizeDoc = CSize(1,1);}CCh1_1Doc::~CCh1_1Doc(){	// 判斷DIB對象是否存在	if (m_hDIB != NULL)	{		// 清除DIB對象		::GlobalFree((HGLOBAL) m_hDIB);	}		// 判斷調色板是否存在	if (m_palDIB != NULL)	{		// 清除調色板		delete m_palDIB;	}}BOOL CCh1_1Doc::OnNewDocument(){	if (!CDocument::OnNewDocument())		return FALSE;	// TODO: add reinitialization code here	// (SDI documents will reuse this document)	return TRUE;}/////////////////////////////////////////////////////////////////////////////// CCh1_1Doc diagnostics#ifdef _DEBUGvoid CCh1_1Doc::AssertValid() const{	CDocument::AssertValid();}void CCh1_1Doc::Dump(CDumpContext& dc) const{	CDocument::Dump(dc);}#endif //_DEBUG/////////////////////////////////////////////////////////////////////////////// CCh1_1Doc commandsBOOL CCh1_1Doc::CanCloseFrame(CFrameWnd* pFrame) {	// TODO: Add your specialized code here and/or call the base class		return CDocument::CanCloseFrame(pFrame);}void CCh1_1Doc::DeleteContents() {	// TODO: Add your specialized code here and/or call the base class		CDocument::DeleteContents();}BOOL CCh1_1Doc::OnOpenDocument(LPCTSTR lpszPathName) {	CFile file;	CFileException fe;	// 打開文件	if (!file.Open(lpszPathName, CFile::modeRead | CFile::shareDenyWrite, &fe))	{		// 失敗		ReportSaveLoadException(lpszPathName, &fe,			FALSE, AFX_IDP_FAILED_TO_OPEN_DOC);				// 返回FALSE		return FALSE;	}		DeleteContents();		// 更改光標形狀	BeginWaitCursor();		// 嘗試調用ReadDIBFile()讀取圖像	TRY	{		m_hDIB = ::ReadDIBFile(file);	}	CATCH (CFileException, eLoad)	{		// 讀取失敗		file.Abort();				// 恢復光標形狀		EndWaitCursor();				// 報告失敗		ReportSaveLoadException(lpszPathName, eLoad,			FALSE, AFX_IDP_FAILED_TO_OPEN_DOC);				// 設置DIB為空		m_hDIB = NULL;				// 返回FALSE		return FALSE;	}	END_CATCH		// 初始化DIB	InitDIBData();		// 恢復光標形狀	EndWaitCursor();		// 判斷讀取文件是否成功	if (m_hDIB == NULL)	{		// 失敗,可能非BMP格式		CString strMsg;		strMsg = "讀取圖像時出錯!可能是不支持該類型的圖像文件!";				// 提示出錯		MessageBox(NULL, strMsg, "系統提示", MB_ICONINFORMATION | MB_OK);				// 返回FALSE		return FALSE;	}		// 設置文件名稱	SetPathName(lpszPathName);		// 初始化脹標記為FALSE	SetModifiedFlag(FALSE);		// 返回TRUE	return TRUE;}void CCh1_1Doc::OnFileReopen() { 	// 重新打開圖像,放棄所有修改 	// 判斷當前圖像是否已經被改動	if (IsModified())	{		// 提示用戶該操作將丟失所有當前的修改		if (MessageBox(NULL, "重新打開圖像將丟失所有改動!是否繼續?", "系統提示", MB_ICONQUESTION | MB_YESNO) == IDNO)		{			// 用戶取消操作,直接返回			return;		}	}		CFile file; 	CFileException fe;  	CString strPathName;  		// 獲取當前文件路徑 	strPathName = GetPathName();  	// 重新打開文件 	if (!file.Open(strPathName, CFile::modeRead | CFile::shareDenyWrite, &fe)) 	{ 		// 失敗 		ReportSaveLoadException(strPathName, &fe, 			FALSE, AFX_IDP_FAILED_TO_OPEN_DOC); 		 		// 返回 		return; 	} 	 	// 更改光標形狀 	BeginWaitCursor(); 	 	// 嘗試調用ReadDIBFile()讀取圖像 	TRY 	{ 		m_hDIB = ::ReadDIBFile(file); 	} 	CATCH (CFileException, eLoad) 	{ 		// 讀取失敗 		file.Abort(); 		 		// 恢復光標形狀 		EndWaitCursor(); 		 		// 報告失敗 		ReportSaveLoadException(strPathName, eLoad, 			FALSE, AFX_IDP_FAILED_TO_OPEN_DOC); 		 		// 設置DIB為空 		m_hDIB = NULL; 		 		// 返回 		return; 	} 	END_CATCH 	 	// 初始化DIB 	InitDIBData(); 	 	// 判斷讀取文件是否成功 	if (m_hDIB == NULL) 	{ 		// 失敗,可能非BMP格式 		CString strMsg; 		strMsg = "讀取圖像時出錯!可能是不支持該類型的圖像文件!"; 		 		// 提示出錯 		MessageBox(NULL, strMsg, "系統提示", MB_ICONINFORMATION | MB_OK);  		 		// 恢復光標形狀 		EndWaitCursor(); 		 		// 返回 		return; 	} 	 	// 初始化脹標記為FALSE 	SetModifiedFlag(FALSE); 	 	// 刷新 	UpdateAllViews(NULL);  	 	// 恢復光標形狀 	EndWaitCursor();	 	// 返回 	return; 	}BOOL CCh1_1Doc::OnSaveDocument(LPCTSTR lpszPathName) {	CFile file;	CFileException fe;	// 打開文件	if (!file.Open(lpszPathName, CFile::modeCreate |	  CFile::modeReadWrite | CFile::shareExclusive, &fe))	{		// 失敗		ReportSaveLoadException(lpszPathName, &fe,			TRUE, AFX_IDP_INVALID_FILENAME);				// 返回FALSE		return FALSE;	}	// 嘗試調用SaveDIB保存圖像	BOOL bSuccess = FALSE;	TRY	{				// 更改光標形狀		BeginWaitCursor();		// 嘗試保存圖像		bSuccess = ::SaveDIB(m_hDIB, file);		// 關閉文件		file.Close();	}	CATCH (CException, eSave)	{		// 失敗		file.Abort();				// 恢復光標形狀		EndWaitCursor();		ReportSaveLoadException(lpszPathName, eSave,			TRUE, AFX_IDP_FAILED_TO_SAVE_DOC);				// 返回FALSE		return FALSE;	}	END_CATCH	// 恢復光標形狀	EndWaitCursor();		// 重置脹標記為FALSE	SetModifiedFlag(FALSE);	if (!bSuccess)	{		// 保存失敗,可能是其它格式的DIB,可以讀取但是不能保存		// 或者是SaveDIB函數有誤		CString strMsg;		strMsg = "無法保存BMP圖像!";				// 提示出錯		MessageBox(NULL, strMsg, "系統提示", MB_ICONINFORMATION | MB_OK);	}		return bSuccess;}void CCh1_1Doc::ReplaceHDIB(HDIB hDIB){	// 替換DIB,在功能粘貼中用到該函數		// 判斷DIB是否為空	if (m_hDIB != NULL)	{		// 非空,則清除		::GlobalFree((HGLOBAL) m_hDIB);	}	// 替換成新的DIB對象	m_hDIB = hDIB;	}void CCh1_1Doc::InitDIBData(){	// 初始化DIB對象	// 判斷調色板是否為空	if (m_palDIB != NULL)	{		// 刪除調色板對象		delete m_palDIB;		// 重置調色板為空		m_palDIB = NULL;	}		// 如果DIB對象為空,直接返回	if (m_hDIB == NULL)	{		// 返回		return;	}		LPSTR lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) m_hDIB);		// 判斷圖像是否過大	if (::DIBWidth(lpDIB) > INT_MAX ||::DIBHeight(lpDIB) > INT_MAX)	{		::GlobalUnlock((HGLOBAL) m_hDIB);				// 釋放DIB對象		::GlobalFree((HGLOBAL) m_hDIB);				// 設置DIB為空		m_hDIB = NULL;				CString strMsg;		strMsg = "BMP圖像太大!";				// 提示用戶		MessageBox(NULL, strMsg, "系統提示", MB_ICONINFORMATION | MB_OK);				// 返回		return;	}		// 設置文檔大小	m_sizeDoc = CSize((int) ::DIBWidth(lpDIB), (int) ::DIBHeight(lpDIB));		::GlobalUnlock((HGLOBAL) m_hDIB);		// 創建新調色板	m_palDIB = new CPalette;		// 判斷是否創建成功	if (m_palDIB == NULL)	{		// 失敗,可能是內存不足		::GlobalFree((HGLOBAL) m_hDIB);				// 設置DIB對象為空		m_hDIB = NULL;				// 返回		return;	}		// 調用CreateDIBPalette來創建調色板	if (::CreateDIBPalette(m_hDIB, m_palDIB) == NULL)	{		// 返回空,可能該DIB對象沒有調色板				// 刪除		delete m_palDIB;				// 設置為空		m_palDIB = NULL;				// 返回		return;	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产无套在线观| 国产精品免费观看视频| 91免费视频网址| 成人性生交大片免费看中文 | 91免费观看在线| 国产黑丝在线一区二区三区| 美女任你摸久久| 久久精品72免费观看| 日韩不卡一区二区三区| 免费看欧美美女黄的网站| 午夜精品一区二区三区免费视频 | 日韩欧美在线影院| 4438x成人网最大色成网站| 欧美日本一区二区在线观看| 欧美这里有精品| 欧美三区免费完整视频在线观看| 在线观看日韩一区| 欧美一区二区成人6969| 日韩免费性生活视频播放| 精品久久久久久久久久久院品网 | 欧美日韩一级二级三级| 欧美日韩国产美| 日韩丝袜美女视频| 国产亚洲自拍一区| 亚洲欧美日韩国产综合在线| 一区二区在线观看免费视频播放| 亚洲3atv精品一区二区三区| 蜜桃视频免费观看一区| 国产成人亚洲综合a∨婷婷图片| 成人性视频免费网站| 91国偷自产一区二区三区观看| 91精品国产一区二区三区| 久久精品日韩一区二区三区| 亚洲婷婷国产精品电影人久久| 亚洲国产wwwccc36天堂| 国产精品一区二区你懂的| 99久久国产综合精品色伊| 欧美久久久影院| 国产三级精品三级在线专区| 亚洲一区二区三区四区五区黄| 九色综合狠狠综合久久| 色综合婷婷久久| 精品日韩一区二区三区| 一区二区三区在线播放| 精品中文字幕一区二区| 欧洲一区二区三区在线| 久久尤物电影视频在线观看| 一区二区三区高清在线| av电影天堂一区二区在线观看| 欧美日韩中文精品| 国产精品美女久久久久久久久久久 | 日韩精品亚洲专区| 成人动漫一区二区在线| 制服丝袜亚洲色图| 一个色妞综合视频在线观看| 国产69精品久久777的优势| 欧美一区二区视频在线观看2020 | 亚洲精品乱码久久久久| 黄色成人免费在线| 欧美精品国产精品| 亚洲色图都市小说| 国产91丝袜在线观看| 精品国产乱码久久久久久蜜臀 | 欧美一区二区三区喷汁尤物| 亚洲制服丝袜在线| 成人性视频免费网站| 久久久久国产精品厨房| 日韩av中文字幕一区二区三区| 欧洲视频一区二区| 一区二区三区 在线观看视频| 成人性生交大片免费看视频在线 | 91偷拍与自偷拍精品| 欧美—级在线免费片| 国产福利不卡视频| 国产清纯在线一区二区www| 男女男精品视频网| 欧美一区二区黄| 午夜精品在线看| 91精品国产乱| 蜜乳av一区二区三区| 欧美一区二区播放| 美女视频黄免费的久久| 欧美成人艳星乳罩| 国产一区二区三区最好精华液| 久久久久高清精品| 99精品欧美一区二区三区小说| 日本一区二区三区在线不卡| 成人av电影免费观看| 亚洲色图欧美激情| 欧美日韩三级在线| 日韩激情中文字幕| 久久这里只有精品视频网| 风流少妇一区二区| 亚洲精品水蜜桃| 欧美色图在线观看| 美国欧美日韩国产在线播放| 久久九九影视网| 91免费版在线| 婷婷开心激情综合| 亚洲精品一区二区三区福利| 大桥未久av一区二区三区中文| 亚洲免费三区一区二区| 欧美人妖巨大在线| 国产精品综合网| 亚洲欧美激情视频在线观看一区二区三区 | 久久电影网电视剧免费观看| 国产日韩av一区| 色拍拍在线精品视频8848| 日韩二区三区在线观看| 国产日韩在线不卡| 欧美日韩三级视频| 国产精品亚洲成人| 国产精品 欧美精品| 国产精品天美传媒| 91精品久久久久久久久99蜜臂| 国产很黄免费观看久久| 亚洲福利视频一区| 国产蜜臀av在线一区二区三区| 欧美日韩一区在线观看| 国产成人鲁色资源国产91色综 | 国产亚洲精久久久久久| 欧美综合色免费| 国产一区久久久| 亚洲国产日日夜夜| 日本一区二区三区四区在线视频| 欧美日韩国产综合视频在线观看| 国产福利91精品一区二区三区| 日本在线不卡一区| 一区二区三区精品| 国产精品麻豆久久久| 欧美岛国在线观看| 欧美日本一道本| 99国产精品久久久久久久久久 | 欧美特级限制片免费在线观看| 粉嫩av亚洲一区二区图片| 亚洲r级在线视频| 亚洲精品免费播放| 国产精品丝袜黑色高跟| www激情久久| 日韩欧美一区二区久久婷婷| 欧美日韩一区高清| 欧美综合天天夜夜久久| 一本色道久久加勒比精品| 高潮精品一区videoshd| 国产精品123区| 狠狠色丁香婷综合久久| 日韩国产高清影视| 午夜视频一区二区| 亚洲第一福利一区| 亚洲国产精品一区二区尤物区| 一区二区中文字幕在线| 国产精品免费视频观看| 国产香蕉久久精品综合网| 精品国一区二区三区| 欧美成人精品3d动漫h| 欧美一区二区三区的| 欧美一区二区三区的| 日韩欧美一区在线观看| 日韩欧美高清一区| 精品国产三级电影在线观看| 精品国产免费人成在线观看| 精品国产乱码久久久久久图片| 久久这里只有精品6| 中文字幕高清一区| 亚洲三级小视频| 亚洲一二三四久久| 日韩激情一二三区| 国产资源在线一区| 国产99久久久国产精品| 色94色欧美sute亚洲线路一ni| 色狠狠色噜噜噜综合网| 欧美人与性动xxxx| 精品欧美一区二区三区精品久久| 精品日韩一区二区三区 | 亚洲亚洲精品在线观看| 日韩av中文在线观看| 国产美女视频一区| 成人av网址在线| 欧美日韩一级大片网址| 精品国产一区二区三区忘忧草| 国产丝袜美腿一区二区三区| 亚洲视频中文字幕| 男女男精品视频网| 99久久婷婷国产综合精品| 欧美日免费三级在线| 久久人人爽人人爽| 亚洲一区在线观看免费| 99久久国产综合精品麻豆| 欧美日韩免费不卡视频一区二区三区| 欧美电影影音先锋| 国产精品丝袜一区| 日本中文字幕一区| 91在线观看污| 欧美大尺度电影在线| 中文字幕在线不卡一区| 免费久久精品视频| 99麻豆久久久国产精品免费| 日韩欧美成人一区二区| 亚洲欧美一区二区三区极速播放| 麻豆精品新av中文字幕|