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

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

?? mydipview.cpp

?? 這是一個在VC++環(huán)境下實現(xiàn)對圖像二值化的程序。
?? 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);
	// 計算圖像每行的字節(jié)數(shù)
	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);     // 計算圖像每行的字節(jié)數(shù)
//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);
	LPSTR lpDIBBits=::FindDIBBits (lpDIB);
	int cxDIB = (int) ::DIBWidth(lpDIB);         // Size of DIB - x
	int cyDIB = (int) ::DIBHeight(lpDIB);        // Size of DIB - y
	long lLineBytes = WIDTHBYTES(cxDIB * 8);     // 計算圖像每行的字節(jié)數(shù)
	const float c1=150,c2=2.5;
	// 每行
	for(i = 0; i < cyDIB; i++)
	{
		// 每列
		for(j = 0; j < cxDIB; j++)
		{
			// 指向DIB第i行,第j個象素的指針
			lpSrc = (unsigned char*)lpDIBBits + lLineBytes * (cyDIB - 1 - i) + j;
			
			// 計算新的灰度值
			if(*lpSrc<122) *lpSrc=BYTE(0);
			else *lpSrc = BYTE(255);
		}
	}
	::GlobalUnlock((HGLOBAL) pDoc->m_hDIB);
    Invalidate(TRUE);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美国产成人一区二区| 精品久久久三级丝袜| 国产99久久久国产精品| 麻豆视频观看网址久久| 免费观看在线色综合| 久草这里只有精品视频| 精品一区二区国语对白| 激情欧美一区二区| 国产成人av一区| 99久久国产综合精品色伊| 色域天天综合网| 欧美吻胸吃奶大尺度电影| 日韩一级片网址| 久久久精品黄色| 亚洲欧洲美洲综合色网| 一区二区成人在线视频| 日日噜噜夜夜狠狠视频欧美人| 麻豆国产91在线播放| 国产成人高清在线| 在线观看视频一区| 日韩一区二区精品葵司在线| 国产三级三级三级精品8ⅰ区| 中文字幕在线不卡视频| 亚洲成av人影院| 国产精品影视网| 在线视频国内自拍亚洲视频| 欧美一级欧美一级在线播放| 久久精品在这里| 亚洲伊人色欲综合网| 精品一区精品二区高清| 日本乱码高清不卡字幕| 欧美一二三区在线观看| 亚洲日本电影在线| 久久国产精品72免费观看| av影院午夜一区| 日韩欧美二区三区| 一区二区三区免费| 国产激情视频一区二区三区欧美| 色一情一伦一子一伦一区| 精品成人一区二区三区四区| 亚洲男女一区二区三区| 国产一区不卡视频| 欧美日韩中文字幕一区| 国产精品色一区二区三区| 日韩专区欧美专区| 91丨九色丨黑人外教| 亚洲精品在线免费观看视频| 亚洲国产综合色| 99久久夜色精品国产网站| 日韩欧美国产精品| 日韩国产欧美在线视频| 一本久久a久久精品亚洲| 久久久99精品久久| 精品一区二区三区免费毛片爱| 欧美色综合影院| 一区二区三区欧美亚洲| 91色婷婷久久久久合中文| 国产精品久久久久久久久动漫| 亚洲国产aⅴ天堂久久| 91免费视频网址| 国产精品丝袜在线| 国产成人小视频| www精品美女久久久tv| 日韩电影免费在线观看网站| 在线观看视频一区二区欧美日韩| 亚洲视频在线观看三级| 成人国产精品免费网站| 中文字幕欧美国产| 成人动漫视频在线| 国产精品国产自产拍高清av王其 | 午夜精品爽啪视频| 91国偷自产一区二区三区观看| 国产精品国产精品国产专区不片 | 欧美国产日韩在线观看| 国产做a爰片久久毛片| 日韩免费电影网站| 韩国成人福利片在线播放| 日韩亚洲欧美在线| 国产一区二区在线观看视频| 久久久www成人免费无遮挡大片| 激情综合色播激情啊| 久久亚洲精品小早川怜子| 国产一区二区在线影院| 中文字幕免费观看一区| 91原创在线视频| 亚洲一区二区三区国产| 欧美一区二区三区免费| 韩国v欧美v亚洲v日本v| 国产精品第13页| 色av一区二区| 麻豆国产精品视频| 国产精品欧美一区二区三区| 色综合天天综合在线视频| 亚洲h在线观看| 欧美精品一区视频| 97久久精品人人爽人人爽蜜臀| 有码一区二区三区| 日韩欧美国产综合| 成人av网站免费观看| 一区二区三区在线观看动漫| 欧美精品vⅰdeose4hd| 国产一区二区0| 一区二区三区在线观看网站| 日韩一区二区三区精品视频| 成人性生交大片免费看中文网站| 一区二区理论电影在线观看| 日韩欧美在线观看一区二区三区| 国产九色精品成人porny | 欧美视频日韩视频| 国产一区二区三区国产| 亚洲精品日产精品乱码不卡| 日韩精品中文字幕在线不卡尤物| 成人免费看的视频| 日韩—二三区免费观看av| 国产精品毛片高清在线完整版| 欧美私人免费视频| 丁香啪啪综合成人亚洲小说| 五月激情综合色| 综合网在线视频| 日韩欧美黄色影院| 欧美日韩综合在线| 91一区二区三区在线观看| 久久av中文字幕片| 性做久久久久久久久| 国产精品免费看片| 2023国产精华国产精品| 欧美日韩电影在线播放| 99re热这里只有精品视频| 狠狠色丁香久久婷婷综合丁香| 亚洲福中文字幕伊人影院| 国产精品久线在线观看| 久久久高清一区二区三区| 欧美一区二区三区视频在线观看| 色成年激情久久综合| 成人黄色av电影| 国产成人午夜99999| 久久99精品国产.久久久久久 | 国产精品1区二区.| 久久国产剧场电影| 麻豆精品国产91久久久久久| 日韩av不卡一区二区| 性做久久久久久久久| 亚洲国产精品影院| 亚洲一区二区av在线| 亚洲免费av网站| 亚洲三级久久久| 一区二区三区中文字幕电影| 国产精品成人在线观看| 中文字幕av一区二区三区免费看| 久久综合999| 欧美韩国一区二区| 国产精品欧美一区二区三区| 国产精品久久久久久久久果冻传媒 | 久久久久久99精品| 久久蜜桃香蕉精品一区二区三区| 日韩三级视频在线看| 欧美xxxxx裸体时装秀| 欧美va亚洲va| 国产午夜亚洲精品不卡| 国产精品欧美久久久久无广告| 久久久www成人免费无遮挡大片| 国产欧美一区二区精品性色| 日本一区二区三区dvd视频在线| 欧美高清在线精品一区| 亚洲美女电影在线| 亚洲第一福利一区| 日本在线观看不卡视频| 国产一区欧美二区| jlzzjlzz国产精品久久| 在线视频欧美区| 欧美大片一区二区| 欧美国产视频在线| 亚洲综合清纯丝袜自拍| 蜜臂av日日欢夜夜爽一区| 国产成人免费视频一区| 91老师片黄在线观看| 51久久夜色精品国产麻豆| 久久免费午夜影院| 亚洲日本在线天堂| 久久国产生活片100| 99久久久精品| 欧美一区二区三区婷婷月色| 国产精品免费网站在线观看| 亚洲柠檬福利资源导航| 久久99国产精品久久| 91小视频免费观看| 26uuu亚洲综合色| 一区二区三区成人在线视频| 精品一区二区三区在线播放视频| 91在线观看地址| 欧美精品一区二区精品网| 亚洲综合区在线| 懂色av中文字幕一区二区三区| 欧美日韩一区二区三区免费看| 欧美精品一区二区三区蜜臀| 一卡二卡三卡日韩欧美| 国产福利一区二区三区视频 | 久久国产精品99精品国产| 91免费在线播放| 久久久精品日韩欧美|