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

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

?? dsplitview.cpp

?? 該源代碼是圖像模式識別vc++實現(清華出版社楊淑瑩編著)中的分類程序
?? CPP
字號:
// DSPLITView.cpp : implementation of the CDSPLITView class
// 2005.1.13-16:02 By Superman 

#include "stdafx.h"
#include "DSPLIT.h"

#include "DSPLITDoc.h"
#include "DSPLITView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDSPLITView

IMPLEMENT_DYNCREATE(CDSPLITView, CView)

BEGIN_MESSAGE_MAP(CDSPLITView, CView)
	//{{AFX_MSG_MAP(CDSPLITView)
	ON_COMMAND(ID_BUTTON_CLEAR, OnButtonClear)
	ON_COMMAND(ID_BUTTONDISPLAY, OnButtondisplay)
	ON_WM_MOUSEMOVE()
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_WM_RBUTTONDOWN()
	ON_WM_RBUTTONUP()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDSPLITView construction/destruction

CDSPLITView::CDSPLITView()
{
	lbtDown=FALSE;
	rbtDown=FALSE;
}

CDSPLITView::~CDSPLITView()
{
}

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

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CDSPLITView drawing

void CDSPLITView::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	ASSERT_VALID(pDoc);


	pDC->TextOut(10,250,"1.請書寫規范,字不要太小。");
	pDC->TextOut(10,270,"2.寫字的時候,請拖動鼠標左鍵。");
	pDC->TextOut(10,290,"3.拖動鼠標右鍵,可以擦除筆畫。");
	pDC->TextOut(10,310,"4.單擊左視圖,按[擦除]按鈕可清除左視圖。");
	pDC->TextOut(10,330,"5.單擊右視圖,選擇模式識別菜單項進行判別。");
	pDC->TextOut(10,350,"6.判別出錯時,說明在樣品庫中這種寫法太少,");
	pDC->TextOut(10,370,"  按[保存]按鈕將該數字存入樣品庫中,再識別;");
	pDC->TextOut(10,390,"  或者換一種方式寫。");

	CRect cr(0,0,240,240);
	pDC->FillSolidRect(cr,RGB(220,220,220));

	if(state==1)
	{
        BYTE* pBitmapData = classify->GetData();
        LPBITMAPINFO pBitmapInfo = classify->GetInfo();
        int bitmapHeight = classify->GetHeight();
        int bitmapWidth = classify->GetWidth();
		
		if (classify->GetRGB()) // Has a color table
		{
			CPalette * hPalette1=CreateBitmapPalette(classify);
            CPalette * hOldPalette =
                pDC->SelectPalette(hPalette1, true);
            pDC->RealizePalette();
			::StretchDIBits(pDC->GetSafeHdc(),0,0, bitmapWidth, bitmapHeight,
				0, 0, bitmapWidth , bitmapHeight ,
				pBitmapData, pBitmapInfo,
				DIB_RGB_COLORS, SRCCOPY);
            pDC->SelectPalette(hOldPalette, true);
            hPalette.DeleteObject();
		}
	}
}

/////////////////////////////////////////////////////////////////////////////
// CDSPLITView diagnostics

#ifdef _DEBUG
void CDSPLITView::AssertValid() const
{
	CView::AssertValid();
}

CPalette* CDSPLITView::CreateBitmapPalette(CDib *pBitmap)
{
	struct
	{
		WORD Version;
		WORD NumberOfEntries;
		PALETTEENTRY aEntries[256];
	} palette = { 0x300, 256 };
	
	LPRGBQUAD pRGBTable = pBitmap->GetRGB();
	UINT numberOfColors = pBitmap->GetNumberOfColors();
	
	for(UINT x=0; x<numberOfColors; ++x)
	{
		palette.aEntries[x].peRed =
			pRGBTable[x].rgbRed;
		palette.aEntries[x].peGreen =
			pRGBTable[x].rgbGreen;
		palette.aEntries[x].peBlue =
			pRGBTable[x].rgbBlue;
		palette.aEntries[x].peFlags = 0;
	}
	
	hPalette.CreatePalette((LPLOGPALETTE)&palette);
	return &hPalette;
}

void CDSPLITView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

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

/////////////////////////////////////////////////////////////////////////////
// CDSPLITView message handlers

void CDSPLITView::clearmem()
{
	CDSPLITDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
    classify=&pDoc->classify;
}

void CDSPLITView::OnButtonClear() 
{
	clearmem();
	m_pData=classify->m_pData;
	wide=classify->GetWidth();
	LineBytes=(wide*8+31)/32*4;
	height=classify->GetHeight();
	memset(m_pData,220,(wide)*(height-3));
 	state=1;
	Invalidate();	
}

void CDSPLITView::OnButtondisplay() 
{
	

	clearmem();
	m_pData=classify->m_pData;	
	wide=classify->GetWidth();
	LineBytes=(wide*8+31)/32*4;
	height=classify->GetHeight();
 	state=1;
	Invalidate();	
}

void CDSPLITView::OnMouseMove(UINT nFlags, CPoint point) 
{
	if(state==1)
	{
		if(rbtDown)
		{
			SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR2));
			CRect rc;
			rc.left=point.x-3;
			rc.right=point.x+3;
			rc.top=point.y-3;
			rc.bottom=point.y+3;
			for(int x=point.x-3;x<point.x+3;x++)
				for(int y=point.y-3;y<point.y+3;y++)
					if((x-point.x)*(x-point.x)+(y-point.y)*(y-point.y)<9)
						*(m_pData+LineBytes*(height-y)+x)=220;
			InvalidateRect(rc,TRUE);
		}
		else
		{
			SetCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1));
			if (lbtDown)
			{
				CRect rc;
				rc.left=point.x-5;
				rc.right=point.x+5;
				rc.top=point.y-5;
				rc.bottom=point.y+5;
				for(int x=point.x-5;x<point.x+5;x++)
					for(int y=point.y-5;y<point.y+5;y++)
						if((x-point.x)*(x-point.x)+(y-point.y)*(y-point.y)<16)
							*(m_pData+LineBytes*(height-y)+x)=0;
				InvalidateRect(rc,TRUE);
			}
		}
	}	
	CView::OnMouseMove(nFlags, point);
}

void CDSPLITView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	OnButtondisplay();
	lbtDown=TRUE;
	CRect cr;
	cr.left =3;
	cr.right =wide-3;
	cr.top =8;
	cr.bottom =height;
	ClientToScreen(&cr);
	ClipCursor(&cr);
	CView::OnLButtonDown(nFlags, point);
}

void CDSPLITView::OnLButtonUp(UINT nFlags, CPoint point) 
{
	lbtDown=FALSE;
	ClipCursor(NULL);
	CView::OnLButtonUp(nFlags, point);
}

void CDSPLITView::OnRButtonDown(UINT nFlags, CPoint point) 
{
	rbtDown=TRUE;
	CView::OnRButtonDown(nFlags, point);
}

void CDSPLITView::OnRButtonUp(UINT nFlags, CPoint point) 
{
	rbtDown=FALSE;
	CView::OnRButtonUp(nFlags, point);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩黄色免费网站| 亚洲免费大片在线观看| 免费观看在线综合色| 制服丝袜成人动漫| 日本亚洲一区二区| 亚洲bt欧美bt精品| 欧美乱妇20p| 日av在线不卡| 国产无人区一区二区三区| 丁香激情综合国产| 亚洲六月丁香色婷婷综合久久| 一本久久a久久免费精品不卡| 亚洲六月丁香色婷婷综合久久| 欧美亚洲尤物久久| 蜜桃av一区二区| 亚洲国产精品成人综合色在线婷婷 | 1024亚洲合集| 在线观看av一区二区| 日韩va亚洲va欧美va久久| 久久伊99综合婷婷久久伊| 成人免费毛片嘿嘿连载视频| 亚洲精品日产精品乱码不卡| 在线不卡一区二区| 福利一区二区在线| 无吗不卡中文字幕| 国产亚洲自拍一区| 欧美性大战xxxxx久久久| 国产在线不卡视频| 亚洲精品一二三四区| 欧美精品一区二区久久婷婷| 色呦呦日韩精品| 国产原创一区二区三区| 亚洲色图20p| 日韩视频免费直播| 91美女片黄在线| 国产专区欧美精品| 亚洲高清一区二区三区| 国产欧美日产一区| 欧美精品777| 色婷婷国产精品综合在线观看| 免费高清在线一区| 五月婷婷久久综合| 国产精品久久二区二区| 日韩美女主播在线视频一区二区三区| 成人99免费视频| 激情综合五月婷婷| 亚洲超丰满肉感bbw| 国产精品久久久久久久久久免费看| 日韩欧美成人午夜| 欧美色电影在线| 99国产精品久久久| 国产精品18久久久| 蜜桃视频一区二区三区在线观看| 亚洲裸体在线观看| 国产午夜精品一区二区| 精品美女在线播放| 欧美猛男超大videosgay| 色综合久久综合网欧美综合网 | 日韩精品一区二区三区三区免费| 91在线云播放| 成人免费视频网站在线观看| 国产在线不卡视频| 麻豆国产精品官网| 首页国产丝袜综合| 夜夜嗨av一区二区三区网页 | 这里是久久伊人| 色哦色哦哦色天天综合| 成人精品免费视频| 国产suv精品一区二区6| 国产精品一级在线| 国产精品一区一区三区| 国产一区不卡在线| 国产一区二区不卡| 国产高清成人在线| 国产成人综合视频| 国产在线精品一区二区夜色| 精品一区二区成人精品| 国产综合一区二区| 久久99久久99小草精品免视看| 日韩成人精品在线| 日产国产欧美视频一区精品| 日本不卡一区二区三区| 日韩黄色小视频| 九九精品一区二区| 国产自产视频一区二区三区| 国产成人在线视频网站| 国产成人在线观看免费网站| 国产成人亚洲综合a∨猫咪| 国产成人午夜精品影院观看视频| 国产高清久久久| 99久久99久久久精品齐齐| 99久久er热在这里只有精品66| 91麻豆精东视频| 欧美色老头old∨ideo| 欧美一区二区三区四区在线观看| 欧美一卡2卡3卡4卡| 精品国产一区久久| 日本一区二区三区国色天香| 综合久久久久综合| 亚洲第四色夜色| 狠狠色综合日日| 成人激情校园春色| 欧美三级中文字幕在线观看| 日韩女优制服丝袜电影| 国产欧美日韩精品在线| 亚洲精品ww久久久久久p站| 日韩电影在线一区| 国产精品综合一区二区| 91国偷自产一区二区开放时间 | 91精品国产色综合久久不卡电影| 日韩一区二区三区免费观看 | 久久精品一区二区三区四区| 中文字幕在线免费不卡| 五月天国产精品| 国产精品白丝jk黑袜喷水| 91在线观看一区二区| 91精品国产综合久久久久久久 | 中文幕一区二区三区久久蜜桃| 伊人性伊人情综合网| 另类成人小视频在线| 99re成人精品视频| 日韩三级免费观看| 日韩理论片网站| 免费成人在线播放| 91亚洲资源网| 精品国产电影一区二区| 一区二区三区**美女毛片| 韩国精品在线观看| 欧美色爱综合网| 中文字幕一区二区三区在线观看 | 成人激情av网| 日韩一区二区精品| 一区二区视频在线| 国产成人aaaa| 日韩欧美一二区| 一区二区三区日韩欧美| 国产成人福利片| 欧美一二区视频| 一区二区三区.www| 成人免费视频免费观看| 精品国产成人在线影院| 视频一区视频二区在线观看| 99riav一区二区三区| 国产欧美日韩中文久久| 美女国产一区二区三区| 欧美私模裸体表演在线观看| 国产精品国产精品国产专区不蜜| 麻豆精品一区二区av白丝在线| 欧美综合亚洲图片综合区| 国产精品乱子久久久久| 国产真实乱对白精彩久久| 日韩欧美在线一区二区三区| 亚洲成人综合在线| 色综合激情五月| 亚洲男人天堂av| 91在线无精精品入口| 国产精品五月天| 国产91丝袜在线观看| 国产亚洲欧美在线| 国产精品自拍在线| 久久蜜桃av一区精品变态类天堂 | 色婷婷久久久亚洲一区二区三区| 中文字幕av资源一区| 国产一区二区美女诱惑| 欧美一区二区福利视频| 视频一区中文字幕国产| 欧美日本免费一区二区三区| 亚洲一区二区av在线| 色偷偷一区二区三区| 亚洲精品乱码久久久久久久久 | 国产乱子伦视频一区二区三区| 日韩三级中文字幕| 美女精品一区二区| 久久麻豆一区二区| 国产成人亚洲精品狼色在线| 中文字幕第一区综合| 精品国产乱码久久久久久图片| 麻豆精品国产91久久久久久| 日韩视频一区二区三区| 国产在线精品一区二区三区不卡| 久久综合狠狠综合久久激情| 国产精品亚洲综合一区在线观看| 久久免费看少妇高潮| 成人中文字幕合集| 亚洲免费观看高清完整版在线观看| 色综合久久中文综合久久牛| 一区二区三区精品在线| 欧美人与性动xxxx| 激情综合色综合久久综合| 日本一区二区三区国色天香| 99久久婷婷国产综合精品| 亚洲一区精品在线| 日韩精品在线一区二区| 国v精品久久久网| 夜夜精品浪潮av一区二区三区| 欧美精品18+| 国v精品久久久网| 午夜电影一区二区| 久久新电视剧免费观看| 91小视频在线观看|