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

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

?? linetransview.cpp

?? 神經(jīng)網(wǎng)絡(luò)代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// LineTransView.cpp : implementation of the CLineTransView class
//

#include "stdafx.h"
#include "LineTrans.h"

#include "LineTransDoc.h"
#include "LineTransView.h"
#include "mainfrm.h"

#include "IntensityDlg.h"
#include "LinerParaDlg.h"
#include "PointStreDlg.h"
#include "PointThreDlg.h"
#include "PointWinDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CLineTransView

IMPLEMENT_DYNCREATE(CLineTransView, CScrollView)

BEGIN_MESSAGE_MAP(CLineTransView, CScrollView)
	//{{AFX_MSG_MAP(CLineTransView)
	ON_WM_ERASEBKGND()
	ON_COMMAND(ID_EDIT_COPY, OnEditCopy)
	ON_UPDATE_COMMAND_UI(ID_EDIT_COPY, OnUpdateEditCopy)
	ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
	ON_UPDATE_COMMAND_UI(ID_EDIT_PASTE, OnUpdateEditPaste)
	ON_COMMAND(ID_VIEW_INTENSITY, OnViewIntensity)
	ON_COMMAND(ID_POINT_EQUA, OnPointEqua)
	ON_COMMAND(ID_POINT_INVERT, OnPointInvert)
	ON_COMMAND(ID_POINT_LINER, OnPointLiner)
	ON_COMMAND(ID_POINT_STRE, OnPointStre)
	ON_COMMAND(ID_POINT_THRE, OnPointThre)
	ON_COMMAND(ID_POINT_WIND, OnPointWind)
	ON_COMMAND(ID_CHANGETOGRAY, OnChangetogray)
	ON_COMMAND(ID_BICOLOUR, OnBicolour)
	ON_COMMAND(ID_DENOISE, OnDenoise)
	ON_COMMAND(ID_RUIHUA, OnRuihua)
	ON_COMMAND(ID_SLOPEADJUST, OnSlopeadjust)
	ON_COMMAND(ID_CHARSEGEMT, OnCharsegemt)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLineTransView construction/destruction

CLineTransView::CLineTransView()
{
	// TODO: add construction code here

}

CLineTransView::~CLineTransView()
{
}

BOOL CLineTransView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CScrollView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CLineTransView drawing

void CLineTransView::OnDraw(CDC* pDC)
{
	BeginWaitCursor();

	CLineTransDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);

	HDIB hDIB = pDoc->GetHDIB();
	if (hDIB != NULL)
	{
		LPSTR lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);
		int cxDIB = (int) pDoc->GetDibImage()->DIBWidth(lpDIB);
		int cyDIB = (int) pDoc->GetDibImage()->DIBHeight(lpDIB);

		::GlobalUnlock((HGLOBAL) hDIB);
		
		CRect rcDIB;
		rcDIB.top = rcDIB.left = 0;
		rcDIB.right = cxDIB;
		rcDIB.bottom = cyDIB;
		
		CRect rcDest;
		
		if (pDC->IsPrinting())
		{
			// 是打印,計算輸出圖像的位置和大小,以便符合頁面
			
			// 獲取打印頁面的水平寬度(象素)
			int cxPage = pDC->GetDeviceCaps(HORZRES);			
			// 獲取打印頁面的垂直高度(象素)
			int cyPage = pDC->GetDeviceCaps(VERTRES);			
			// 獲取打印機每英寸象素數(shù)
			int cxInch = pDC->GetDeviceCaps(LOGPIXELSX);
			int cyInch = pDC->GetDeviceCaps(LOGPIXELSY);
			
			// 計算打印圖像大小(縮放,根據(jù)頁面寬度調(diào)整圖像大小)
			rcDest.top = rcDest.left = 0;
			rcDest.bottom = (int)(((double)cyDIB * cxPage * cyInch)
					/ ((double)cxDIB * cxInch));
			rcDest.right = cxPage;
			
			// 計算打印圖像位置(垂直居中)
			int temp = cyPage - (rcDest.bottom - rcDest.top);
			rcDest.bottom += temp/2;
			rcDest.top += temp/2;
		}
		else   
		{
			// 不必縮放圖像
			rcDest = rcDIB;
		}
		
		pDoc->GetDibImage()->PaintDIB(pDC->m_hDC, &rcDest, pDoc->GetHDIB(),
			&rcDIB, pDoc->GetDocPalette());
	}
	
	EndWaitCursor();
}

void CLineTransView::OnInitialUpdate()
{
	CScrollView::OnInitialUpdate();

	// TODO: calculate the total size of this view

}

/////////////////////////////////////////////////////////////////////////////
// CLineTransView printing

BOOL CLineTransView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// 設(shè)置總頁數(shù)為一。
	pInfo->SetMaxPage(1);

	return DoPreparePrinting(pInfo);
}

void CLineTransView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CLineTransView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CLineTransView diagnostics

#ifdef _DEBUG
void CLineTransView::AssertValid() const
{
	CScrollView::AssertValid();
}

void CLineTransView::Dump(CDumpContext& dc) const
{
	CScrollView::Dump(dc);
}

CLineTransDoc* CLineTransView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CLineTransDoc)));
	return (CLineTransDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CLineTransView message handlers

BOOL CLineTransView::OnEraseBkgnd(CDC* pDC) 
{
	// 主要是為了設(shè)置子窗體默認(rèn)的背景色
	// 背景色由文檔成員變量m_refColorBKG指定

	CLineTransDoc* pDoc = GetDocument();
	CBrush brush(pDoc->m_refColorBKG);                                              
	CBrush* pOldBrush = pDC->SelectObject(&brush);
		
	CRect rectClip;
	pDC->GetClipBox(&rectClip);			// 獲取重繪區(qū)域	
	pDC->PatBlt(rectClip.left, rectClip.top, rectClip.Width(), 
		rectClip.Height(), PATCOPY);

	pDC->SelectObject(pOldBrush);                                                  

	return TRUE;
}

void CLineTransView::OnEditCopy() 
{
	// 復(fù)制當(dāng)前圖像

	CLineTransDoc* pDoc = GetDocument();
	
	if (OpenClipboard())
	{
		BeginWaitCursor();
		EmptyClipboard();
		
		// 復(fù)制當(dāng)前圖像到剪貼板
		SetClipboardData (CF_DIB, pDoc->GetDibImage()->
			CopyHandle((HANDLE) pDoc->GetHDIB()) );

		CloseClipboard();
		EndWaitCursor();
	}
}

void CLineTransView::OnUpdateEditCopy(CCmdUI* pCmdUI) 
{
	// 如果當(dāng)前DIB對象不空,復(fù)制菜單項有效
	pCmdUI->Enable(GetDocument()->GetHDIB() != NULL);
}

void CLineTransView::OnEditPaste() 
{
	// 粘貼圖像
	
	HDIB hNewDIB = NULL;
	CLineTransDoc* pDoc = GetDocument();
	
	if (OpenClipboard())
	{
		BeginWaitCursor();

		// 讀取剪貼板中的圖像
		hNewDIB = (HDIB)pDoc->GetDibImage()->CopyHandle(::GetClipboardData(CF_DIB));

		CloseClipboard();
		
		if (hNewDIB != NULL)
		{
			pDoc->ReplaceHDIB(hNewDIB);		// 替換DIB,同時釋放舊DIB對象		
			pDoc->InitDIBData();			// 更新DIB大小和調(diào)色板		
			pDoc->SetModifiedFlag(TRUE);	// 設(shè)置臟標(biāo)記	
			SetScrollSizes(MM_TEXT, pDoc->GetDocSize());	// 重新設(shè)置滾動視圖大小		
			OnDoRealize((WPARAM)m_hWnd,0);	// 實現(xiàn)新的調(diào)色板		
			pDoc->UpdateAllViews(NULL);		// 更新視圖
		}

		EndWaitCursor();
	}
}

void CLineTransView::OnUpdateEditPaste(CCmdUI* pCmdUI) 
{
	// 如果當(dāng)前剪貼板中有DIB對象,粘貼菜單項有效
	pCmdUI->Enable(::IsClipboardFormatAvailable(CF_DIB));
}

LRESULT CLineTransView::OnDoRealize(WPARAM wParam, LPARAM)
{
	ASSERT(wParam != NULL);

	CLineTransDoc* pDoc = GetDocument();	
	if (pDoc->GetHDIB() == NULL)
	{
		return 0L;
	}
	
	CPalette* pPal = pDoc->GetDocPalette();
	if (pPal != NULL)
	{
		CMainFrame* pAppFrame = (CMainFrame*) AfxGetApp()->m_pMainWnd;
		ASSERT_KINDOF(CMainFrame, pAppFrame);
		
		CClientDC appDC(pAppFrame);

		// All views but one should be a background palette.
		// wParam contains a handle to the active view, so the SelectPalette
		// bForceBackground flag is FALSE only if wParam == m_hWnd (this view)
		CPalette* oldPalette = appDC.SelectPalette(pPal,((HWND)wParam)!=m_hWnd);	
		if (oldPalette != NULL)
		{
			UINT nColorsChanged = appDC.RealizePalette();
			if (nColorsChanged > 0)
			{
				pDoc->UpdateAllViews(NULL);
			}
			appDC.SelectPalette(oldPalette, TRUE);
		}
		else
		{
			TRACE0("\tCCh1_1View::OnPaletteChanged中調(diào)用SelectPalette()失敗!\n");
		}
	}
	
	return 0L;
}

void CLineTransView::OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView) 
{
	CScrollView::OnActivateView(bActivate, pActivateView, pDeactiveView);

	if (bActivate)
	{
		ASSERT(pActivateView == this);
		OnDoRealize((WPARAM)m_hWnd, 0);   // same as SendMessage(WM_DOREALIZE);
	}
}

void CLineTransView::CalcWindowRect(LPRECT lpClientRect, UINT nAdjustType) 
{
	CScrollView::OnInitialUpdate();
	ASSERT(GetDocument() != NULL);
	
	SetScrollSizes(MM_TEXT, GetDocument()->GetDocSize());
}

void CLineTransView::OnViewIntensity() 
{
	// 查看當(dāng)前圖像灰度直方圖

	CLineTransDoc* pDoc = GetDocument();
	
	LPSTR lpDIB;			// 指向DIB的指針	
	LPSTR    lpDIBBits;		// 指向DIB象素指針
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());	
	// 找到DIB圖像象素起始位置
	lpDIBBits = pDoc->GetDibImage()->FindDIBBits(lpDIB);
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖,其它的可以類推)
	if (pDoc->GetDibImage()->DIBNumColors(lpDIB) != 256)
	{
		MessageBox("目前只支持查看256色位圖灰度直方圖!", "系統(tǒng)提示" , 
			MB_ICONINFORMATION | MB_OK);
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		return;
	}
	
	BeginWaitCursor();

	CIntensityDlg dlgPara;
	dlgPara.m_lpDIBBits = lpDIBBits;
	dlgPara.m_lWidth = pDoc->GetDibImage()->DIBWidth(lpDIB);
	dlgPara.m_lHeight = pDoc->GetDibImage()->DIBHeight(lpDIB);
	dlgPara.m_iLowGray = 0;
	dlgPara.m_iUpGray = 255;
	
	// 顯示對話框,提示用戶設(shè)定平移量
	if (dlgPara.DoModal() != IDOK)
	{
		return;
	}

	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
	EndWaitCursor();
}

void CLineTransView::OnPointEqua() 
{
	// 灰度均衡

	CLineTransDoc* pDoc = GetDocument();
		
	LPSTR	lpDIB;				// 指向DIB的指針	
	LPSTR    lpDIBBits;			// 指向DIB象素指針
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());
	// 找到DIB圖像象素起始位置
	lpDIBBits = pDoc->GetDibImage()->FindDIBBits(lpDIB);
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖的直方圖均衡,其它的可以類推)
	if (pDoc->GetDibImage()->DIBNumColors(lpDIB) != 256)
	{
		MessageBox("目前只支持256色位圖的直方圖均衡!", "系統(tǒng)提示" , 
			MB_ICONINFORMATION | MB_OK);
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

		return;
	}
	
	BeginWaitCursor();
	
	// 調(diào)用InteEqualize()函數(shù)進行直方圖均衡
	pDoc->GetDibImage()->InteEqualize(lpDIBBits,pDoc->GetDibImage()->DIBWidth(lpDIB), 
		pDoc->GetDibImage()->DIBHeight(lpDIB));

	pDoc->SetModifiedFlag(TRUE);	// 設(shè)置臟標(biāo)記	
	pDoc->UpdateAllViews(NULL);		// 更新視圖
	
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
	EndWaitCursor();
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.欧美日韩国产在线| 欧美嫩在线观看| 蜜臀av一区二区三区| 国产精品另类一区| 4438x亚洲最大成人网| 成人精品亚洲人成在线| 蜜桃av一区二区| 亚洲一区在线观看免费观看电影高清| 欧美成人aa大片| 欧美日韩精品一区二区在线播放| 北条麻妃一区二区三区| 看电视剧不卡顿的网站| 亚洲成人免费在线| 亚洲欧美日韩国产中文在线| xnxx国产精品| 欧美久久一区二区| 欧美视频完全免费看| 99久久精品国产导航| 国产超碰在线一区| 国产一二精品视频| 老司机精品视频一区二区三区| 亚洲最大成人综合| 亚洲三级免费电影| 国产精品网站在线| 欧美激情在线一区二区| 久久免费电影网| 久久亚洲综合色| 久久亚洲综合av| 精品国产欧美一区二区| 91精品国产综合久久福利软件 | 精品国产乱子伦一区| 欧美私模裸体表演在线观看| 91蜜桃视频在线| 99在线精品免费| 成人动漫一区二区在线| 国产99久久久国产精品免费看| 久久97超碰国产精品超碰| 免费观看30秒视频久久| 久久成人av少妇免费| 精品一区二区三区在线视频| 久久精品国产网站| 国产一区二区美女诱惑| 国产高清亚洲一区| 成人动漫一区二区三区| 99综合影院在线| 91在线云播放| 欧美私模裸体表演在线观看| 欧美肥大bbwbbw高潮| 日韩精品一区二区三区在线| 精品国产免费久久| 国产亚洲女人久久久久毛片| 国产精品久久久久桃色tv| 亚洲欧美一区二区三区孕妇| 亚洲福利视频一区| 日本不卡高清视频| 国产成人在线看| 色哟哟精品一区| 91麻豆精品国产91久久久| 日韩欧美三级在线| 国产视频一区二区在线观看| 国产精品久久久久久妇女6080| 亚洲私人黄色宅男| 天堂va蜜桃一区二区三区 | 日本不卡一二三| 国产一区高清在线| 99热在这里有精品免费| 欧美人狂配大交3d怪物一区 | 一区二区三区美女| 日韩极品在线观看| 岛国精品一区二区| 91蝌蚪porny成人天涯| 717成人午夜免费福利电影| 欧美精品一区二区三区很污很色的| 欧美激情综合网| 亚洲高清不卡在线观看| 狠狠色丁香久久婷婷综合丁香| 本田岬高潮一区二区三区| 欧美老肥妇做.爰bbww视频| 久久亚洲免费视频| 亚洲一区影音先锋| 狠狠久久亚洲欧美| 欧美性色黄大片手机版| 国产午夜精品理论片a级大结局 | 日韩欧美精品在线视频| 国产精品美女久久久久久久久久久| 亚洲午夜久久久| 国产精品69久久久久水密桃| 在线一区二区三区四区| 久久综合九色综合97婷婷女人| 亚洲色图19p| 国内精品写真在线观看| 91丨九色丨蝌蚪丨老版| 欧美va亚洲va| 亚洲尤物视频在线| 国产成人高清视频| 日韩三级精品电影久久久| 亚洲视频你懂的| 国模少妇一区二区三区| 欧美日韩精品欧美日韩精品一| 日本一区二区三区视频视频| 日韩 欧美一区二区三区| 91在线精品一区二区| 精品国产乱码久久久久久老虎| 一区二区三区日韩精品视频| 国产传媒一区在线| 日韩欧美一区电影| 亚洲午夜久久久久久久久电影网| 成人av网站在线观看| 久久嫩草精品久久久精品一| 视频一区二区三区中文字幕| 日本韩国欧美三级| 国产精品久久久久久久久久久免费看| 久久精品国产99| 69久久夜色精品国产69蝌蚪网| 亚洲女女做受ⅹxx高潮| 成人在线视频一区| 精品免费视频.| 久久99精品视频| 日韩欧美在线一区二区三区| 亚洲高清免费一级二级三级| 在线国产亚洲欧美| 一区二区三区不卡视频在线观看 | 久久久不卡影院| 看电影不卡的网站| 日韩欧美国产系列| 美女www一区二区| 日韩一区二区三区高清免费看看| www.欧美日韩国产在线| 国产欧美精品一区二区色综合| 蜜臀国产一区二区三区在线播放 | 欧美日韩一区二区三区不卡| 一区二区在线观看视频| 91美女在线看| 一区二区在线看| 亚洲欧洲在线观看av| 国产精品77777竹菊影视小说| 久久久影视传媒| 国产激情一区二区三区| 色先锋aa成人| 亚洲精品国久久99热| 色8久久精品久久久久久蜜 | 激情五月婷婷综合| 26uuu久久综合| 国产精品综合视频| 国产亚洲一区二区三区四区 | 国产综合色视频| 免费高清在线一区| 日韩一区欧美二区| 午夜电影久久久| 日韩精品福利网| 日韩高清一级片| 亚洲成人精品影院| 亚洲成a人v欧美综合天堂| 亚洲一区二区三区四区五区中文| 一区二区三区在线免费播放| 亚洲综合色在线| 午夜影院久久久| 蜜桃精品在线观看| 国内精品国产成人| 懂色av噜噜一区二区三区av| 成人app网站| 在线视频亚洲一区| 欧美放荡的少妇| 2024国产精品| 国产精品不卡视频| 亚洲图片自拍偷拍| 日韩在线一二三区| 激情六月婷婷综合| hitomi一区二区三区精品| 一本在线高清不卡dvd| 欧美精品亚洲一区二区在线播放| 在线电影欧美成精品| 2021中文字幕一区亚洲| 中文一区在线播放| 有坂深雪av一区二区精品| 首页国产欧美久久| 国产精品原创巨作av| 91老司机福利 在线| 欧美肥妇free| 欧美国产成人精品| 亚洲图片欧美一区| 国内成人自拍视频| 欧洲一区二区三区在线| 日韩午夜av一区| 亚洲欧洲三级电影| 日韩av网站免费在线| 成人av在线一区二区| 欧美老年两性高潮| 中文字幕日韩一区二区| 青青草伊人久久| 92精品国产成人观看免费| 日韩欧美国产精品一区| 《视频一区视频二区| 久久99精品久久只有精品| 91女人视频在线观看| 日韩欧美精品三级| 一区二区三区在线视频观看58| 狠狠色狠狠色合久久伊人| 欧美性xxxxx极品少妇| 中国av一区二区三区|