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

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

?? linerparadlg.cpp

?? 人耳識別技術是20世紀90年代末開始興起的一種生物特征識別技術
?? CPP
字號:
// LinerParaDlg.cpp : implementation file
//

#include "stdafx.h"
#include "EAR.h"
#include "LinerParaDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CLinerParaDlg dialog


CLinerParaDlg::CLinerParaDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CLinerParaDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CLinerParaDlg)
	m_fA = 0.0f;
	m_fB = 0.0f;
	//}}AFX_DATA_INIT
}


void CLinerParaDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLinerParaDlg)
	DDX_Text(pDX, IDC_EDIT_A, m_fA);
	DDX_Text(pDX, IDC_EDIT_B, m_fB);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CLinerParaDlg, CDialog)
	//{{AFX_MSG_MAP(CLinerParaDlg)
	ON_WM_PAINT()
	ON_EN_KILLFOCUS(IDC_EDIT_A, OnKillfocusEditA)
	ON_EN_KILLFOCUS(IDC_EDIT_B, OnKillfocusEditB)
	ON_WM_LBUTTONUP()
	ON_WM_MOUSEMOVE()
	ON_WM_LBUTTONDOWN()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLinerParaDlg message handlers

void CLinerParaDlg::OnPaint() 
{
	CString str;	
	int x1, y1, x2, y2;			// 直線和坐標軸二個交點坐標
	
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	CWnd* pWnd = GetDlgItem(IDC_COORD);
	CDC* pDC = pWnd->GetDC();
	pWnd->Invalidate();
	pWnd->UpdateWindow();
	pDC->Rectangle(0,0,330,300);
	
	CPen* pPenRed = new CPen;		// 紅色畫筆
	pPenRed->CreatePen(PS_SOLID,2,RGB(255,0,0));
	CPen* pPenBlue = new CPen;		// 藍色畫筆
	pPenBlue->CreatePen(PS_SOLID,2,RGB(0,0, 255));
	
	// 選中當前紅色畫筆,并保存以前的畫筆
	CGdiObject* pOldPen = pDC->SelectObject(pPenRed);
		
	pDC->MoveTo(10,10);				// 繪制坐標軸	
	pDC->LineTo(10,280);			// 垂直軸	
	pDC->LineTo(320,280);			// 水平軸
	str.Format("0");
	pDC->TextOut(10, 281, str);		// 寫坐標	
	str.Format("255");
	pDC->TextOut(265, 281, str);
	pDC->TextOut(11, 25, str);
	
	// 繪制X軸箭頭
	pDC->LineTo(315,275);
	pDC->MoveTo(320,280);
	pDC->LineTo(315,285);
	
	// 繪制X軸箭頭
	pDC->MoveTo(10,10);
	pDC->LineTo(5,15);
	pDC->MoveTo(10,10);
	pDC->LineTo(15,15);
	
	// 更改成藍色畫筆
	pDC->SelectObject(pPenBlue);	
	
	// 計算直線和坐標軸二個交點坐標
	if (m_fA >= 0)
	{
		if (((m_fA * 255 + m_fB) >= 0) && (m_fB < 255))
		{
			if (m_fB < 0)
			{
				x1 = (int) (- m_fB/m_fA + 0.5);
				y1 = 0;
			}
			else
			{
				x1 = 0;
				y1 = (int) (m_fB + 0.5);
			}
			
			if ((m_fA * 255 + m_fB) > 255)
			{
				x2 = (int) ((255- m_fB)/m_fA + 0.5);
				y2 = 255;
			}
			else
			{
				x2 = 255;
				y2 = (int) (255* m_fA + m_fB + 0.5);
			}
		}
		else if(((m_fA * 255 + m_fB) < 0))
		{
			x1 = 0;
			y1 = 0;
			x2 = 255;
			y2 = 0;
		}
		else
		{
			x1 = 0;
			y1 = 255;
			x2 = 255;
			y2 = 255;
		}
	}
	else  // 斜率小于0
	{
		if ((m_fB > 0) && (255* m_fA + m_fB < 255))
		{
			if (m_fB > 255)
			{
				x1 = (int) ((255- m_fB)/m_fA + 0.5);
				y1 = 255;
			}
			else
			{
				x1 = 0;
				y1 = (int) (m_fB + 0.5);
			}
			
			if ((m_fA * 255 + m_fB) < 0)
			{
				x2 = (int) (- m_fB/m_fA + 0.5);
				y2 = 0;
			}
			else
			{
				x2 = 255;
				y2 = (int) (255* m_fA + m_fB + 0.5);
			}
		}
		else if (m_fB <=0)
		{
			x1 = 0;
			y1 = 0;
			x2 = 255;
			y2 = 0;
		}
		else
		{
			x1 = 0;
			y1 = 255;
			x2 = 255;
			y2 = 255;
		}
	}
	
	// 繪制坐標值
	str.Format("(%d, %d)", x1, y1);
	pDC->TextOut(x1 + 10, 280 - y1 + 1, str);
	str.Format("(%d, %d)", x2, y2);
	pDC->TextOut(x2 + 10, 280 - y2 + 1, str);
	
	// 繪制用戶指定的線性變換直線(注意轉換坐標系)
	pDC->MoveTo(x1 + 10, 280 - y1);
	pDC->LineTo(x2 + 10, 280 - y2);
	
	// 恢復以前的畫筆
	pDC->SelectObject(pOldPen);	
	
	// 繪制邊緣
	pDC->MoveTo(10,25);
	pDC->LineTo(265,25);
	pDC->LineTo(265,280);
	
	delete pPenRed;
	delete pPenBlue;	
	
	// Do not call CDialog::OnPaint() for painting messages
}

void CLinerParaDlg::OnKillfocusEditA() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	InvalidateRect(m_MouseRect, TRUE);	
}

void CLinerParaDlg::OnKillfocusEditB() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	InvalidateRect(m_MouseRect, TRUE);	
}

void CLinerParaDlg::OnLButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	// 當用戶釋放鼠標左鍵停止拖動
	if (m_bIsDraging)
	{
		// 判斷當前光標是否在繪制區域
		if(m_MouseRect.PtInRect(point))
		{
			m_p2 = point;			
			// 轉換坐標系
			m_p2.x = m_p2.x - m_MouseRect.left + 10;
			m_p2.y = m_p2.y - m_MouseRect.top + 25;
			
			if ((m_p1 != m_p2) && (m_p1.x != m_p2.x))
			{
				// 轉換坐標系
				m_p1.x = m_p1.x - 10;
				m_p1.y = 280 - m_p1.y;
				m_p2.x = m_p2.x - 10;
				m_p2.y = 280 - m_p2.y;				
				// 計算斜率和截距
				m_fA = (float) (m_p2.y - m_p1.y) / (m_p2.x - m_p1.x);
				m_fB = m_p1.y - m_fA * m_p1.x;

				UpdateData(FALSE);
			}

			InvalidateRect(m_MouseRect, TRUE);
		}
		else
		{
			// 用戶在繪制區域外放開鼠標左鍵
						
			CWnd* pWnd = GetDlgItem(IDC_COORD);			// 獲取繪圖的標簽						
			CDC* pDC = pWnd->GetDC();					// 獲取設備上下文						
			int nOldDrawMode = pDC->SetROP2(R2_XORPEN);	// 設置繪制方式為異或模式

			CPen* pPen = new CPen;
			pPen->CreatePen(PS_DOT,1,RGB(0,0,0));
			CGdiObject* pOldPen = pDC->SelectObject(pPen);
			
			// 判斷是否已經畫過橡皮筋線
			if (m_bDrawed)
			{
				pDC->MoveTo(m_p1);
				pDC->LineTo(m_p2);
			}
						
			pDC->SelectObject(pOldPen);			// 選回以前的畫筆			
			pDC->SetROP2(nOldDrawMode);			// 恢復成以前的繪制模式
			
			delete pPen;
			ReleaseDC(pDC);			
		}		
		
		::ReleaseCapture();						// 解除對鼠標事件的跟蹤		
		m_bIsDraging = FALSE;					// 重置拖動狀態
	}

	CDialog::OnLButtonUp(nFlags, point);
}

void CLinerParaDlg::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	// 判斷當前光標是否在繪制區域
	if(m_MouseRect.PtInRect(point))
	{
		::SetCursor(::LoadCursor(NULL, IDC_CROSS));

		if (m_bIsDraging)
		{
			CWnd* pWnd = GetDlgItem(IDC_COORD);
			CDC* pDC = pWnd->GetDC();			
			// 設置繪制方式為異或模式
			int nOldDrawMode = pDC->SetROP2(R2_XORPEN);

			CPen* pPen = new CPen;
			pPen->CreatePen(PS_DOT,1,RGB(0,0,0));
			CGdiObject* pOldPen = pDC->SelectObject(pPen);
			
			// 判斷是否已經畫過橡皮筋線
			if (m_bDrawed)
			{
				pDC->MoveTo(m_p1);
				pDC->LineTo(m_p2);
			}
					
			m_p2 = point;		
			
			// 轉換坐標系
			m_p2.x = m_p2.x - m_MouseRect.left + 10;
			m_p2.y = m_p2.y - m_MouseRect.top + 25;	
			
			// 繪制一條新橡皮筋線
			pDC->MoveTo(m_p1);
			pDC->LineTo(m_p2);
			
			m_bDrawed = TRUE;			
			pDC->SelectObject(pOldPen);	// 選回以前的畫筆		
			pDC->SetROP2(nOldDrawMode);	// 恢復成以前的繪制模式
			
			delete pPen;
			ReleaseDC(pDC);
		}
	}
	else
	{
		if (m_bIsDraging)
		{
			::SetCursor(::LoadCursor(NULL, IDC_NO));
		}
	}
	
	CDialog::OnMouseMove(nFlags, point);
}

void CLinerParaDlg::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	// 當用戶單擊鼠標左鍵開始拖動
	if(m_MouseRect.PtInRect(point))
	{
		m_p1 = point;		
		// 轉換坐標系
		m_p1.x = m_p1.x - m_MouseRect.left + 10;
		m_p1.y = m_p1.y - m_MouseRect.top + 25;
		
		m_bIsDraging = TRUE;
		m_bDrawed = FALSE;
		::SetCursor(::LoadCursor(NULL, IDC_CROSS));
		
		// 開始跟蹤鼠標事件(保證當鼠標移動到窗體外時也可以接收到鼠標釋放事件)
		SetCapture();
	}

	CDialog::OnLButtonDown(nFlags, point);
}

BOOL CLinerParaDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	CWnd* pWnd = GetDlgItem(IDC_COORD);	
	pWnd->GetClientRect(m_MouseRect);
	pWnd->ClientToScreen(&m_MouseRect);
	
	CRect rect;
	GetClientRect(rect);
	ClientToScreen(&rect);	
	m_MouseRect.top -= rect.top;
	m_MouseRect.left -= rect.left;
	
	// 設置接受鼠標事件的有效區域
	m_MouseRect.top += 25;
	m_MouseRect.left += 10;
	m_MouseRect.bottom = m_MouseRect.top + 255;
	m_MouseRect.right = m_MouseRect.left + 256;

	m_bIsDraging = FALSE;
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CLinerParaDlg::OnOK() 
{
	// TODO: Add extra validation here
	
	CDialog::OnOK();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区精品| 亚洲图片一区二区| 在线中文字幕不卡| aaa亚洲精品| 久久精品72免费观看| 日本在线不卡一区| 婷婷综合在线观看| 美女网站一区二区| 午夜av区久久| 日韩不卡手机在线v区| 亚洲一区二区三区影院| 一区精品在线播放| 亚洲色图都市小说| 亚洲成人免费av| 日韩国产高清在线| 国产一区二区美女诱惑| 国产iv一区二区三区| 91在线视频18| 欧美久久久影院| 精品1区2区在线观看| 国产午夜三级一区二区三| 日本一区二区三级电影在线观看 | 在线欧美小视频| 欧洲一区二区三区免费视频| 欧美午夜影院一区| 欧美电影免费观看高清完整版在线观看| 欧美成人女星排名| 亚洲国产激情av| 亚洲一区二区三区四区在线观看| 三级亚洲高清视频| 国产剧情一区二区三区| 色美美综合视频| 日韩区在线观看| 日韩一区中文字幕| 免费成人你懂的| 成人免费电影视频| 欧美一级片在线观看| 精品久久人人做人人爰| 欧美激情一二三区| 国产精品理论片在线观看| 亚洲一二三级电影| 韩日av一区二区| 欧美亚洲尤物久久| 国产欧美精品国产国产专区| 五月天激情综合网| 成人午夜短视频| 日韩欧美三级在线| 一区二区三区四区在线| 国产精品原创巨作av| 欧美日韩三级一区二区| 国产精品乱码久久久久久 | 7777精品伊人久久久大香线蕉| 91精品麻豆日日躁夜夜躁| 国产精品美女久久久久aⅴ| 午夜久久久久久久久| 国产在线精品一区二区不卡了| 色成人在线视频| 久久婷婷国产综合国色天香| 午夜电影久久久| 91日韩在线专区| 国产三级一区二区三区| 亚洲午夜视频在线观看| 不卡的av在线播放| 国产日韩成人精品| 日韩在线一二三区| 91福利精品视频| 国产精品国产自产拍高清av| 日韩国产一区二| 欧美亚洲综合另类| 国产精品久久久久久久久搜平片| 日本成人在线看| 欧美日韩性生活| 一级特黄大欧美久久久| 成人18视频在线播放| 精品999久久久| 国产盗摄一区二区| 国产网站一区二区| 国产精品一区在线| 久久影院午夜片一区| 天天色综合天天| 欧美日韩你懂的| 午夜影院久久久| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 美日韩一区二区三区| 亚洲一区国产视频| 成人免费毛片a| 久久久久国产精品人| 肉色丝袜一区二区| 欧美日韩精品一区二区| 亚洲愉拍自拍另类高清精品| 欧美电影一区二区| 三级精品在线观看| 欧美一区在线视频| 老司机午夜精品| 7777精品伊人久久久大香线蕉超级流畅| 国产精品不卡在线| 国产河南妇女毛片精品久久久| 精品国产91乱码一区二区三区| 精品一区免费av| 国产日韩v精品一区二区| 粉嫩在线一区二区三区视频| 国产欧美精品国产国产专区 | 中文字幕成人网| 99久久免费视频.com| 亚洲国产精品精华液ab| 久久91精品国产91久久小草| 精品久久久久久久久久久久久久久久久 | 欧美电影免费观看高清完整版在线观看| 一区二区三区毛片| 99国产精品国产精品毛片| 亚洲精品欧美激情| 精品视频色一区| 成人午夜伦理影院| 亚洲国产精品久久人人爱蜜臀| 欧美精品在欧美一区二区少妇| 免费的国产精品| 国产欧美一区二区精品性色超碰| 91麻豆精东视频| 亚洲国产中文字幕在线视频综合| 欧美一区二区三区在线视频| 成人一区二区在线观看| 亚洲影视资源网| 欧美成人性福生活免费看| 国产综合色在线视频区| 亚洲一区在线视频观看| 精品免费日韩av| 91蝌蚪国产九色| 美国十次了思思久久精品导航| 日本一区二区三区久久久久久久久不 | 天天影视网天天综合色在线播放 | 久久综合中文字幕| 成人免费观看av| 另类小说色综合网站| 亚洲日本青草视频在线怡红院| 欧美日韩亚洲综合一区 | 成人黄页在线观看| 性感美女极品91精品| 欧美激情一区二区在线| 欧美顶级少妇做爰| 国产成人亚洲综合a∨婷婷图片| 亚洲精品高清在线观看| 精品国产亚洲在线| 欧美日韩精品一二三区| 91色porny在线视频| 国产在线视频一区二区三区| 亚洲黄色小视频| 国产精品久久免费看| 日韩天堂在线观看| 欧美午夜片在线看| 蜜乳av一区二区三区| 蜜乳av一区二区| 日韩精品欧美精品| 亚洲一区二区三区四区的 | 在线欧美小视频| 国产99久久久久久免费看农村| 全国精品久久少妇| 五月婷婷久久综合| 亚洲网友自拍偷拍| 亚洲日本在线看| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 亚洲色大成网站www久久九九| 精品国产乱码久久久久久浪潮| 欧美剧情片在线观看| 欧美日韩国产精选| 欧美日韩视频在线一区二区| 欧美巨大另类极品videosbest| 欧美少妇xxx| 欧美日韩一区二区三区免费看| 在线免费不卡视频| 日本高清不卡一区| 色婷婷久久久综合中文字幕| 欧美日韩不卡一区| 6080午夜不卡| 日韩亚洲欧美一区二区三区| 欧美丰满高潮xxxx喷水动漫| 69堂国产成人免费视频| 欧美日韩欧美一区二区| 精品国产乱码久久久久久影片| 欧美成人精品1314www| 精品福利在线导航| 国产精品全国免费观看高清 | 亚洲黄色性网站| 午夜婷婷国产麻豆精品| 日韩成人dvd| 国产精品综合网| 不卡影院免费观看| 欧美日韩不卡在线| 欧美大度的电影原声| 欧美一区二区三区视频| 国产喷白浆一区二区三区| 亚洲私人黄色宅男| 三级一区在线视频先锋| 国产福利一区在线| 盗摄精品av一区二区三区| 91精品蜜臀在线一区尤物| 精品国产电影一区二区| 亚洲欧美日韩一区二区| 日韩国产精品久久久| 国产suv精品一区二区6| 欧美系列一区二区|