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

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

?? ch1_1view.cpp

?? 采用新的算法快速打開一個BMP格式的圖片
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	// 初始化變量值
	dlgPara.m_bThre = 128;
	
	// 顯示對話框,提示用戶設定閾值
	if (dlgPara.DoModal() != IDOK)
	{
		// 返回
		return;
	}
	
	// 獲取用戶設定的閾值
	bThre = dlgPara.m_bThre;
	
	// 刪除對話框
	delete dlgPara;	
	
	// 更改光標形狀
	BeginWaitCursor();
	
	// 調用ThresholdTrans()函數進行閾值變換
	ThresholdTrans(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), bThre);
	
	// 設置臟標記
	pDoc->SetModifiedFlag(TRUE);
	
	// 更新視圖
	pDoc->UpdateAllViews(NULL);
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
	
	// 恢復光標
	EndWaitCursor();
}

void CCh1_1View::OnPointWind() 
{
	// 窗口變換
	
	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 指向DIB的指針
	LPSTR lpDIB;
	
	// 指向DIB象素指針
	LPSTR    lpDIBBits;
	
	// 創建對話框
	CDlgPointWin  dlgPara;
	
	// 窗口下限
	BYTE	bLow;
	
	// 窗口上限
	BYTE	bUp;
	
	// 鎖定DIB
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());
	
	// 找到DIB圖像象素起始位置
	lpDIBBits = ::FindDIBBits(lpDIB);
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖的窗口變換,其它的可以類推)
	if (::DIBNumColors(lpDIB) != 256)
	{
		// 提示用戶
		MessageBox("目前只支持256色位圖的窗口變換!", "系統提示" , MB_ICONINFORMATION | MB_OK);
		
		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	// 初始化變量值
	dlgPara.m_bLow = 0;
	dlgPara.m_bUp = 255;
	
	// 顯示對話框,提示用戶設定窗口上下限
	if (dlgPara.DoModal() != IDOK)
	{
		// 返回
		return;
	}
	
	// 獲取用戶設定的窗口上下限
	bLow = dlgPara.m_bLow;
	bUp = dlgPara.m_bUp;
	
	// 刪除對話框
	delete dlgPara;	
	
	// 更改光標形狀
	BeginWaitCursor();
	
	// 調用WindowTrans()函數進行窗口變換
	WindowTrans(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), bLow, bUp);
	
	// 設置臟標記
	pDoc->SetModifiedFlag(TRUE);
	
	// 更新視圖
	pDoc->UpdateAllViews(NULL);
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
	
	// 恢復光標
	EndWaitCursor();
}

void CCh1_1View::OnPointStre() 
{
	// 灰度拉伸
	
	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 指向DIB的指針
	LPSTR	lpDIB;
	
	// 指向DIB象素指針
	LPSTR   lpDIBBits;
	
	// 創建對話框
	CDlgPointStre dlgPara;
	
	// 點1坐標
	BYTE	bX1;
	BYTE	bY1;
	
	// 點2坐標
	BYTE	bX2;
	BYTE	bY2;
	
	// 鎖定DIB
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());

	// 找到DIB圖像象素起始位置
	lpDIBBits = ::FindDIBBits(lpDIB);
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖的灰度拉伸,其它的可以類推)
	if (::DIBNumColors(lpDIB) != 256)
	{
		// 提示用戶
		MessageBox("目前只支持256色位圖的灰度拉伸!", "系統提示" , MB_ICONINFORMATION | MB_OK);
		
		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	// 初始化變量值
	dlgPara.m_bX1 = 50;
	dlgPara.m_bY1 = 30;
	dlgPara.m_bX2 = 200;
	dlgPara.m_bY2 = 220;
	
	// 顯示對話框,提示用戶設定拉伸位置
	if (dlgPara.DoModal() != IDOK)
	{
		// 返回
		return;
	}
	
	// 獲取用戶的設定
	bX1 = dlgPara.m_bX1;
	bY1 = dlgPara.m_bY1;
	bX2 = dlgPara.m_bX2;
	bY2 = dlgPara.m_bY2;
	
	// 刪除對話框
	delete dlgPara;	
	
	// 更改光標形狀
	BeginWaitCursor();
	
	// 調用GrayStretch()函數進行灰度拉伸
	GrayStretch(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), bX1, bY1, bX2, bY2);
	
	// 設置臟標記
	pDoc->SetModifiedFlag(TRUE);
	
	// 更新視圖
	pDoc->UpdateAllViews(NULL);
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

	// 恢復光標
	EndWaitCursor();
}

void CCh1_1View::OnPointEqua() 
{
	// 灰度均衡
	
	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 指向DIB的指針
	LPSTR	lpDIB;
	
	// 指向DIB象素指針
	LPSTR    lpDIBBits;
	
	// 鎖定DIB
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());
	
	// 找到DIB圖像象素起始位置
	lpDIBBits = ::FindDIBBits(lpDIB);
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖的直方圖均衡,其它的可以類推)
	if (::DIBNumColors(lpDIB) != 256)
	{
		// 提示用戶
		MessageBox("目前只支持256色位圖的直方圖均衡!", "系統提示" , 
			MB_ICONINFORMATION | MB_OK);
		
		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	// 更改光標形狀
	BeginWaitCursor();
	
	// 調用InteEqualize()函數進行直方圖均衡
	InteEqualize(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB));
	
	// 設置臟標記
	pDoc->SetModifiedFlag(TRUE);
	
	// 更新視圖
	pDoc->UpdateAllViews(NULL);
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

	// 恢復光標
	EndWaitCursor();
	
}*/

//////////////////////////////////////////////////////////////////////////////////////
//  圖像幾何變換
//
/*
void CCh1_1View::OnGeomTran() 
{
	// 平移位圖

	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 指向DIB的指針
	LPSTR	lpDIB;

	// 指向DIB象素指針
	LPSTR   lpDIBBits;
	
	// 鎖定DIB
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖的平移,其它的可以類推)
	if (::DIBNumColors(lpDIB) != 256)
	{
		// 提示用戶
		MessageBox("目前只支持256色位圖的平移!", "系統提示" , MB_ICONINFORMATION | MB_OK);

		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	LONG lXOffset;
	LONG lYOffset;
	
	// 創建對話框
	CDlgGeoTran dlgPara;
	
	// 初始化變量值
	dlgPara.m_XOffset = 100;
	dlgPara.m_YOffset = 100;
	
	// 顯示對話框,提示用戶設定平移量
	if (dlgPara.DoModal() != IDOK)
	{
		// 返回
		return;
	}
	
	// 獲取用戶設定的平移量
	lXOffset = dlgPara.m_XOffset;
	lYOffset = dlgPara.m_YOffset;
	
	// 刪除對話框
	delete dlgPara;	
	
	// 更改光標形狀
	BeginWaitCursor();

	// 找到DIB圖像象素起始位置
	lpDIBBits = ::FindDIBBits(lpDIB);
	
	// 調用TranslationDIB()函數平移DIB
	if (TranslationDIB1(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), lXOffset, lYOffset))
	{
		
		// 設置臟標記
		pDoc->SetModifiedFlag(TRUE);

		// 更新視圖
		pDoc->UpdateAllViews(NULL);
	}
	else
	{
		// 提示用戶
		MessageBox("分配內存失??!", "系統提示" , MB_ICONINFORMATION | MB_OK);
	}
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

	// 恢復光標
	EndWaitCursor();
}

void CCh1_1View::OnGeomMirv() 
{
	// 垂直鏡像
	

	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 指向DIB的指針
	LPSTR lpDIB;

	// 指向DIB象素指針
	LPSTR    lpDIBBits;
	
	// 鎖定DIB
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖的垂直鏡像,其它的可以類推)
	if (::DIBNumColors(lpDIB) != 256)
	{
		// 提示用戶
		MessageBox("目前只支持256色位圖的垂直鏡像!", "系統提示" , MB_ICONINFORMATION | MB_OK);

		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	
	// 更改光標形狀
	BeginWaitCursor();

	// 找到DIB圖像象素起始位置
	lpDIBBits = ::FindDIBBits(lpDIB);
	
	// 調用MirrorDIB()函數垂直鏡像DIB
	if (MirrorDIB(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), FALSE))
	{
		
		// 設置臟標記
		pDoc->SetModifiedFlag(TRUE);

		// 更新視圖
		pDoc->UpdateAllViews(NULL);
	}
	else
	{
		// 提示用戶
		MessageBox("分配內存失?。?quot;, "系統提示" , MB_ICONINFORMATION | MB_OK);
	}
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

	// 恢復光標
	EndWaitCursor();

}

void CCh1_1View::OnGeomMirh() 
{
	// 水平鏡像

	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 指向DIB的指針
	LPSTR lpDIB;

	// 指向DIB象素指針
	LPSTR    lpDIBBits;
	
	// 鎖定DIB
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖的水平鏡像,其它的可以類推)
	if (::DIBNumColors(lpDIB) != 256)
	{
		// 提示用戶
		MessageBox("目前只支持256色位圖的水平鏡像!", "系統提示" , MB_ICONINFORMATION | MB_OK);

		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	
	// 更改光標形狀
	BeginWaitCursor();

	// 找到DIB圖像象素起始位置
	lpDIBBits = ::FindDIBBits(lpDIB);
	
	// 調用MirrorDIB()函數水平鏡像DIB
	if (MirrorDIB(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), TRUE))
	{
		
		// 設置臟標記
		pDoc->SetModifiedFlag(TRUE);

		// 更新視圖
		pDoc->UpdateAllViews(NULL);
	}
	else
	{
		// 提示用戶
		MessageBox("分配內存失敗!", "系統提示" , MB_ICONINFORMATION | MB_OK);
	}
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

	// 恢復光標
	EndWaitCursor();

	
}

void CCh1_1View::OnGeomTrpo() 
{
	// 圖像轉置

	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 指向DIB的指針
	LPSTR lpDIB;
	
	// 鎖定DIB
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖的轉置,其它的可以類推)
	if (::DIBNumColors(lpDIB) != 256)
	{
		// 提示用戶
		MessageBox("目前只支持256色位圖的轉置!", "系統提示" , MB_ICONINFORMATION | MB_OK);

		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	
	// 更改光標形狀
	BeginWaitCursor();
	
	// 調用TransposeDIB()函數轉置DIB
	if (TransposeDIB(lpDIB))
	{
		
		// 設置臟標記
		pDoc->SetModifiedFlag(TRUE);
		
		// 更新DIB大小和調色板
		pDoc->InitDIBData();
		
		// 重新設置滾動視圖大小
		SetScrollSizes(MM_TEXT, pDoc->GetDocSize());

		// 更新視圖
		pDoc->UpdateAllViews(NULL);
	}
	else
	{
		// 提示用戶
		MessageBox("分配內存失??!", "系統提示" , MB_ICONINFORMATION | MB_OK);
	}
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

	// 恢復光標
	EndWaitCursor();

}

void CCh1_1View::OnGeomZoom() 
{
	// 圖像縮放

	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 指向DIB的指針
	LPSTR lpDIB;
	
	// 鎖定DIB
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖的縮放,其它的可以類推)
	if (::DIBNumColors(lpDIB) != 256)
	{
		// 提示用戶
		MessageBox("目前只支持256色位圖的縮放!", "系統提示" , MB_ICONINFORMATION | MB_OK);

		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	// 縮放比率
	float fXZoomRatio;
	float fYZoomRatio;
	
	// 創建對話框
	CDlgGeoZoom dlgPara;
	
	// 初始化變量值
	dlgPara.m_XZoom = 0.5;
	dlgPara.m_YZoom = 0.5;
	
	// 顯示對話框,提示用戶設定平移量
	if (dlgPara.DoModal() != IDOK)
	{
		// 返回
		return;
	}
	
	// 獲取用戶設定的平移量
	fXZoomRatio = dlgPara.m_XZoom;
	fYZoomRatio = dlgPara.m_YZoom;
	
	// 刪除對話框
	delete dlgPara;	
	
	// 創建新DIB
	HDIB hNewDIB = NULL;
	
	// 更改光標形狀
	BeginWaitCursor();
	
	// 調用ZoomDIB()函數轉置DIB
	hNewDIB = (HDIB) ZoomDIB(lpDIB, fXZoomRatio, fYZoomRatio);
	
	// 判斷縮放是否成功
	if (hNewDIB != NULL)
	{
		
		// 替換DIB,同時釋放舊DIB對象
		pDoc->ReplaceHDIB(hNewDIB);

		// 更新DIB大小和調色板
		pDoc->InitDIBData();
		
		// 設置臟標記
		pDoc->SetModifiedFlag(TRUE);
		
		// 重新設置滾動視圖大小
		SetScrollSizes(MM_TEXT, pDoc->GetDocSize());

		// 更新視圖
		pDoc->UpdateAllViews(NULL);
	}
	else
	{
		// 提示用戶
		MessageBox("分配內存失??!", "系統提示" , MB_ICONINFORMATION | MB_OK);
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品久久久久久清纯| 国产电影一区二区三区| 日韩毛片一二三区| 欧美国产视频在线| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美卡1卡2卡| 9191精品国产综合久久久久久| 色综合久久久久综合| www.日韩av| 91视频一区二区三区| 91在线porny国产在线看| 97久久精品人人做人人爽| 色婷婷综合久久久久中文一区二区| 99精品视频在线免费观看| 成人国产在线观看| 色婷婷综合久久久| 欧美日韩日日骚| 欧美一二三区在线| 欧美精品一区二区三区蜜桃| 久久网站最新地址| 国产精品女主播av| 亚洲欧美日韩国产成人精品影院| 亚洲老司机在线| 日日骚欧美日韩| 国产精品一区二区在线观看网站| 国产成人在线影院| 色欧美片视频在线观看在线视频| 欧美日韩在线观看一区二区 | 黄页视频在线91| 国产白丝精品91爽爽久久| 99精品热视频| 欧美老女人第四色| 国产日产欧产精品推荐色| 亚洲国产精品国自产拍av| 亚洲女同一区二区| 免费在线成人网| 九九国产精品视频| 91蜜桃婷婷狠狠久久综合9色| 欧美体内she精高潮| 日韩亚洲欧美高清| 中文字幕一区av| 人人超碰91尤物精品国产| 国产91精品一区二区麻豆亚洲| 91亚洲国产成人精品一区二区三 | 自拍偷拍欧美激情| 视频一区中文字幕国产| 成人免费电影视频| 4438亚洲最大| 日韩美女视频一区二区| 青青草精品视频| 91免费视频大全| 精品久久人人做人人爽| 亚洲精品中文字幕乱码三区| 毛片av中文字幕一区二区| 97久久超碰国产精品| 51精品国自产在线| 蜜臀精品一区二区三区在线观看| 成人性生交大片免费看视频在线| 欧美日韩午夜在线| 中文字幕成人av| 视频一区二区中文字幕| 91偷拍与自偷拍精品| 2023国产精品自拍| 亚洲成在人线免费| www.亚洲色图| 欧美精品一区二区不卡| 天天做天天摸天天爽国产一区| 国内成人自拍视频| 欧美大片一区二区三区| 亚洲欧美国产毛片在线| 蜜桃视频第一区免费观看| 99麻豆久久久国产精品免费| 久久午夜免费电影| 免费观看一级特黄欧美大片| 欧美综合色免费| 亚洲精品成人少妇| 成人免费看视频| 国产精品情趣视频| 毛片一区二区三区| 国产精品福利一区二区| 久久久www成人免费毛片麻豆| 午夜日韩在线观看| 97久久精品人人爽人人爽蜜臀| 久久久青草青青国产亚洲免观| 婷婷丁香激情综合| 欧美三片在线视频观看| 欧美精品自拍偷拍动漫精品| 在线免费观看不卡av| 亚洲欧洲美洲综合色网| 国产成人av电影在线观看| 精品国产凹凸成av人网站| 午夜精品久久久久久久久久| 欧美亚男人的天堂| 日韩一区有码在线| www.久久久久久久久| 欧美国产1区2区| 国产.欧美.日韩| 国产午夜精品一区二区三区四区| 九九视频精品免费| 精品国产乱子伦一区| 日韩写真欧美这视频| 免费高清视频精品| 欧美成人高清电影在线| 久久成人免费日本黄色| 欧美mv和日韩mv国产网站| 精品综合免费视频观看| 精品国产成人在线影院| 国产精品一区二区在线观看网站| 亚洲精品在线免费播放| 国产精品一区一区三区| 国产女人18毛片水真多成人如厕| 国产白丝网站精品污在线入口| 中文字幕国产精品一区二区| a级高清视频欧美日韩| 综合久久国产九一剧情麻豆| 欧洲色大大久久| 五月天一区二区三区| 日韩三级精品电影久久久| 精品一区免费av| 国产网站一区二区| 91网页版在线| 亚洲1区2区3区4区| 精品理论电影在线| 成人教育av在线| 亚洲综合视频网| 欧美v日韩v国产v| 国产成人精品综合在线观看| 亚洲人成影院在线观看| 欧美三级三级三级| 理论片日本一区| 中文久久乱码一区二区| 色婷婷久久久综合中文字幕| 日本在线不卡一区| 久久精品一区二区三区av| 91丨九色丨黑人外教| 亚洲第一av色| 国产日韩欧美高清| 色婷婷综合久久久| 国内精品写真在线观看| 自拍偷拍亚洲综合| 欧美一区欧美二区| 国v精品久久久网| 亚洲宅男天堂在线观看无病毒| 欧美成人bangbros| 色综合久久中文字幕| 秋霞午夜鲁丝一区二区老狼| 久久精品男人天堂av| 欧美亚洲精品一区| 国内精品第一页| 亚洲一区二区三区四区的| 久久―日本道色综合久久 | 欧美老肥妇做.爰bbww| 国产一区二区三区免费观看| 亚洲一区二区三区不卡国产欧美| 精品久久久久久无| 在线中文字幕不卡| 国产麻豆精品95视频| 亚洲在线一区二区三区| 久久精品视频免费| 欧美日韩一级片在线观看| 国产在线乱码一区二区三区| 亚洲午夜精品在线| 欧美国产综合一区二区| 欧美欧美午夜aⅴ在线观看| 成人综合在线观看| 免费精品99久久国产综合精品| 亚洲免费伊人电影| 国产欧美精品一区二区色综合| 欧美另类高清zo欧美| 播五月开心婷婷综合| 久久99精品久久久久久动态图| 亚洲一卡二卡三卡四卡无卡久久| 国产丝袜在线精品| 日韩视频免费观看高清完整版| 欧美自拍偷拍一区| 不卡视频一二三四| 国产精品资源网| 麻豆91精品91久久久的内涵| 亚洲第一电影网| 亚洲免费av观看| 中文字幕av资源一区| 精品福利一区二区三区免费视频| 欧美日韩性生活| 91久久线看在观草草青青| 不卡av电影在线播放| 国产精品1区二区.| 麻豆一区二区在线| 青青草国产精品亚洲专区无| 亚洲成人动漫av| 亚洲韩国精品一区| 亚洲色图另类专区| 中文字幕一区二区三区精华液| 国产欧美综合在线| 久久久国产午夜精品| 精品美女被调教视频大全网站| 欧美老女人第四色| 麻豆91在线观看| 亚洲一本大道在线| 一本一道久久a久久精品| 北条麻妃国产九九精品视频|