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

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

?? mydipview.cpp

?? Visual C++、Matlab圖像處理與識別實用案例精選
?? CPP
字號:
// MyDIPView.cpp : implementation of the CMyDIPView class
//

#include "stdafx.h"
#include "MyDIP.h"

#include "MyDIPDoc.h"
#include "MyDIPView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CMyDIPView

IMPLEMENT_DYNCREATE(CMyDIPView, CScrollView)

BEGIN_MESSAGE_MAP(CMyDIPView, CScrollView)
	//{{AFX_MSG_MAP(CMyDIPView)
	ON_COMMAND(ID_MENUITEM32778, OnMenuitem32778)
	//}}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()

/////////////////////////////////////////////////////////////////////////////
// CMyDIPView construction/destruction

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

}

CMyDIPView::~CMyDIPView()
{
}

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

	return CScrollView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CMyDIPView drawing

void CMyDIPView::OnDraw(CDC* pDC)
{   
	CMyDIPDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if(pDoc->m_hDIB == NULL)
		return ;
	// TODO: add draw code for native data here
	int i,j;
    unsigned char *lpSrc;
	LPSTR lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->m_hDIB);
	int cxDIB = (int) ::DIBWidth(lpDIB);         // Size of DIB - x
	int cyDIB = (int) ::DIBHeight(lpDIB);        // Size of DIB - y
	LPSTR lpDIBBits=::FindDIBBits (lpDIB);
	// 計算圖像每行的字節數
	long lLineBytes = WIDTHBYTES(cxDIB * 8);
	// 每行
	for(i = 0; i < cyDIB; i++)
	{
		// 每列
		for(j = 0; j < cxDIB; j++)
		{
			// 指向DIB第i行,第j個象素的指針
			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (cyDIB - 1 - i) + j;
			// 計算新的灰度值
			//*(lpSrc) = BYTE(255-*lpSrc);
		}
	}
	::GlobalUnlock((HGLOBAL) pDoc->m_hDIB);
	CRect rect(0,0,cxDIB,cyDIB), rcDIB(0,0,cxDIB,cyDIB);
	::PaintDIB(pDC->m_hDC, &rect, pDoc->m_hDIB, &rcDIB, pDoc->m_palDIB);
}

/////////////////////////////////////////////////////////////////////////////
// CMyDIPView printing

BOOL CMyDIPView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

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

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

/////////////////////////////////////////////////////////////////////////////
// CMyDIPView diagnostics

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CMyDIPView message handlers

void CMyDIPView::OnSize(UINT nType, int cx, int cy)
{
	CScrollView::OnSize(nType, cx, cy);
}

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

	SetScrollSizes(MM_TEXT, GetDocument()->m_sizeDoc);
}


//對比度拉伸
//DEL void CMyDIPView::OnMenuitem32777() 
//DEL {
//DEL 	
//DEL 	// 獲取文檔
//DEL 	CMyDIPDoc* pDoc = GetDocument();
//DEL 	int i,j;
//DEL 	int r1=60,r2=200;
//DEL 	double k=1.5;
//DEL     unsigned char *lpSrc;	
//DEL 	ASSERT_VALID(pDoc);
//DEL 	if(pDoc->m_hDIB == NULL)
//DEL 		return ;
//DEL 	LPSTR lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->m_hDIB);
//DEL 	LPSTR lpDIBBits=::FindDIBBits (lpDIB);
//DEL 	int cxDIB = (int) ::DIBWidth(lpDIB);         // Size of DIB - x
//DEL 	int cyDIB = (int) ::DIBHeight(lpDIB);        // Size of DIB - y
//DEL 	long lLineBytes = WIDTHBYTES(cxDIB * 8);     // 計算圖像每行的字節數
//DEL 	// 每行
//DEL 	for(i = 0; i < cyDIB; i++)
//DEL 	{
//DEL 		// 每列
//DEL 		for(j = 0; j < cxDIB; j++)
//DEL 		{
//DEL 			// 指向DIB第i行,第j個象素的指針
//DEL 			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (cyDIB - 1 - i) + j;
//DEL 			// 計算新的灰度值
//DEL 			if(*lpSrc<r1) *lpSrc=BYTE(*lpSrc/k);
//DEL 			else if(*lpSrc<r2) *lpSrc= BYTE((*lpSrc-r1)*k+r1/k);
//DEL 			else *lpSrc=BYTE((*lpSrc-r2)/k+255-(255-r2)/k);
//DEL 		}
//DEL 	}
//DEL 	::GlobalUnlock((HGLOBAL) pDoc->m_hDIB);
//DEL     Invalidate(TRUE);
//DEL }


//反色
void CMyDIPView::OnMenuitem32778() 
{
	// TODO: Add your command handler code here
	int i,j;
    unsigned char *lpSrc;
	CMyDIPDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if(pDoc->m_hDIB == NULL)
		return ;

	LPSTR lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->m_hDIB);
	int cxDIB = (int) ::DIBWidth(lpDIB);         // Size of DIB - x
	int cyDIB = (int) ::DIBHeight(lpDIB);        // Size of DIB - y
	LPSTR lpDIBBits=::FindDIBBits (lpDIB);
	// 計算圖像每行的字節數
	long lLineBytes = WIDTHBYTES(cxDIB * 8);
	// 每行
	for(i = 0; i < cyDIB; i++)
	{
		// 每列
		for(j = 0; j < cxDIB; j++)
		{
			// 指向DIB第i行,第j個象素的指針
			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (cyDIB - 1 - i) + j;
			
			// 計算新的灰度值
			*(lpSrc) = BYTE(255-*lpSrc);
		}
	}
	::GlobalUnlock((HGLOBAL) pDoc->m_hDIB);
    Invalidate(TRUE);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人免费视频网站高清观看视频| 亚洲国产高清在线观看视频| 91首页免费视频| 爽爽淫人综合网网站| 亚洲欧美一区二区视频| 国产精品午夜久久| 国产精品免费丝袜| 中文字幕一区二区三区四区不卡 | 91麻豆免费视频| 97久久精品人人做人人爽50路 | 亚洲欧洲日韩在线| 亚洲品质自拍视频网站| 亚洲美女少妇撒尿| 亚洲午夜国产一区99re久久| 午夜一区二区三区在线观看| 日本大胆欧美人术艺术动态| 黄色资源网久久资源365| 韩国女主播成人在线| 国产麻豆一精品一av一免费 | 一区二区三区在线观看网站| 亚洲一区欧美一区| 精品一区二区三区免费| 丁香激情综合国产| 欧美羞羞免费网站| 日韩欧美国产一区二区三区| 欧美国产97人人爽人人喊| 亚洲精品美国一| 石原莉奈在线亚洲二区| 国产在线播精品第三| 99久久免费精品| 欧美日韩国产大片| 久久久久久一二三区| 一区二区三区蜜桃| 国产精品一区二区久激情瑜伽| 成人精品视频.| 欧美日韩精品欧美日韩精品 | 欧美一二三四在线| 国产日产精品一区| 五月天精品一区二区三区| 国产一区二区不卡在线| 91久久国产综合久久| 久久婷婷久久一区二区三区| 亚洲乱码日产精品bd| 国产真实乱对白精彩久久| 色哟哟一区二区| 久久久亚洲综合| 免费在线看成人av| 91亚洲精品乱码久久久久久蜜桃| 日韩欧美123| 亚洲最大成人综合| 国产99久久久国产精品潘金网站| 制服丝袜亚洲色图| 自拍偷拍亚洲综合| 国产麻豆一精品一av一免费| 欧美日韩激情一区| 亚洲视频一区二区免费在线观看| 国产一区二区不卡老阿姨| 8x福利精品第一导航| 一区二区三区四区中文字幕| 不卡的av电影| 国产日产精品1区| 国产精品综合网| 精品久久人人做人人爽| 视频一区二区三区在线| 欧美亚一区二区| 亚洲综合网站在线观看| www.一区二区| 国产精品白丝在线| 99在线精品免费| 亚洲免费在线电影| 色素色在线综合| 亚洲一区二区av在线| 91成人免费在线视频| 一区二区三区.www| 欧美午夜理伦三级在线观看| 亚洲国产一区在线观看| 欧美少妇xxx| 午夜私人影院久久久久| 欧美日本在线观看| 日韩精品乱码av一区二区| 欧美日韩一区小说| 日韩成人免费电影| 日韩免费视频线观看| 精品综合免费视频观看| 精品国产乱码久久久久久闺蜜| 国模娜娜一区二区三区| 国产欧美一区二区三区沐欲| 成人18视频日本| 亚洲精品成人在线| 欧美巨大另类极品videosbest | 久久99精品久久只有精品| 欧美一区二区三区在线电影| 麻豆成人综合网| www亚洲一区| 99视频一区二区三区| 亚洲欧美一区二区不卡| 欧美日韩免费电影| 极品少妇一区二区| 亚洲国产精品ⅴa在线观看| 91性感美女视频| 亚洲高清视频的网址| 日韩欧美你懂的| a美女胸又www黄视频久久| hitomi一区二区三区精品| 亚洲国产日韩a在线播放| 亚洲人成人一区二区在线观看| 成人精品视频一区二区三区尤物| 国产精品911| 国产日韩亚洲欧美综合| 一区视频在线播放| 国产日韩欧美综合一区| 日韩欧美国产1| 欧美理论在线播放| 一本一道久久a久久精品| 成人午夜视频在线| 不卡的av中国片| 成人免费福利片| 成人看片黄a免费看在线| 成人免费毛片app| 成人精品免费视频| 91美女福利视频| 在线观看91精品国产入口| 在线观看日韩精品| 欧美日韩中文国产| 欧美精品99久久久**| 91精品国产综合久久福利 | 91免费版在线| 色香蕉久久蜜桃| 欧美自拍丝袜亚洲| 制服丝袜中文字幕一区| 精品免费一区二区三区| 久久久久97国产精华液好用吗| 国产三区在线成人av| 亚洲欧洲三级电影| 亚洲va欧美va国产va天堂影院| 天天综合网天天综合色| 热久久一区二区| 国产成人精品影视| 色偷偷成人一区二区三区91| 欧美日本在线观看| 久久九九久精品国产免费直播| 国产精品第四页| 五月激情六月综合| 韩国三级中文字幕hd久久精品| 大尺度一区二区| 欧美三区在线视频| 久久久久久久综合| 亚洲猫色日本管| 九九热在线视频观看这里只有精品 | 国产一区二区三区黄视频| 成人av网站免费观看| 欧美丰满嫩嫩电影| 国产夜色精品一区二区av| 亚洲自拍与偷拍| 国产美女精品在线| 欧美性猛交xxxx乱大交退制版| 26uuu欧美| 一区二区三区久久| 国产精品性做久久久久久| 欧美日韩精品欧美日韩精品一综合| 久久久亚洲午夜电影| 天天影视色香欲综合网老头| 国产福利一区二区| 日韩丝袜情趣美女图片| 亚洲欧美一区二区三区极速播放| 精品在线一区二区三区| 欧美在线影院一区二区| 中文字幕的久久| 精品亚洲国内自在自线福利| 欧美在线999| 中文久久乱码一区二区| 久久99久久99小草精品免视看| 精品视频123区在线观看| 成人欧美一区二区三区在线播放| 精品一区二区三区免费播放| 欧美日韩夫妻久久| 亚洲精品免费一二三区| 成人av电影免费在线播放| 久久综合九色综合久久久精品综合| 亚洲精品ww久久久久久p站| 成人在线视频一区| 精品国精品国产| 免费观看在线综合色| 7777精品伊人久久久大香线蕉的| 亚洲乱码日产精品bd| 成人aa视频在线观看| 国产精品日韩成人| 国产精品系列在线播放| wwwwww.欧美系列| 国产一区福利在线| 亚洲精品在线一区二区| 久久成人久久爱| 精品国产麻豆免费人成网站| 久久精品国产精品青草| 日韩欧美激情一区| 国模一区二区三区白浆| 欧美精品一区视频| 国产一区二区三区四区在线观看| 精品免费一区二区三区| 国产精品一区二区三区乱码|