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

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

?? ch1_1view.cpp

?? 影像處理程序 基本的影像處理算法
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
// ch1_1View.cpp : implementation of the CCh1_1View class
//

#include "stdafx.h"
#include "ch1_1.h"

#include "ch1_1Doc.h"
#include "ch1_1View.h"
#include "mainfrm.h"
#include "DlgIntensity.h"
#include "DlgLinerPara.h"
#include "DlgPointThre.h"
#include "DlgPointWin.h"
#include "DlgPointStre.h"
#include "DlgGeoTran.h"
#include "DlgGeoZoom.h"
#include "DlgGeoRota.h"
#include "DlgSmooth.h"
#include "DlgMidFilter.h"
#include "DlgSharpThre.h"
#include "DlgColor.h"
#include "ColorTable.h"

#include "cDlgMorphErosion.h"
#include "cDlgMorphDilation.h"
#include "cDlgMorphOpen.h"
#include "cDlgMorphClose.h"

#include "DlgHuffman.h"
#include "DlgShannon.h"
#include "DlgCodeGIF.h"

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

/////////////////////////////////////////////////////////////////////////////
// CCh1_1View

IMPLEMENT_DYNCREATE(CCh1_1View, CScrollView)

BEGIN_MESSAGE_MAP(CCh1_1View, CScrollView)
	//{{AFX_MSG_MAP(CCh1_1View)
	ON_WM_ERASEBKGND()
	ON_COMMAND(ID_EDIT_COPY, OnEditCopy)
	ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
	ON_UPDATE_COMMAND_UI(ID_EDIT_COPY, OnUpdateEditCopy)
	ON_UPDATE_COMMAND_UI(ID_EDIT_PASTE, OnUpdateEditPaste)
	ON_COMMAND(ID_GEOM_TRAN, OnGeomTran)
	ON_COMMAND(ID_GEOM_MIRV, OnGeomMirv)
	ON_COMMAND(ID_GEOM_MIRH, OnGeomMirh)
	ON_COMMAND(ID_GEOM_ROTA, OnGeomRota)
	ON_COMMAND(ID_GEOM_TRPO, OnGeomTrpo)
	ON_COMMAND(ID_GEOM_ZOOM, OnGeomZoom)
	ON_COMMAND(ID_POINT_INVERT, OnPointInvert)
	ON_COMMAND(ID_POINT_EQUA, OnPointEqua)
	ON_COMMAND(ID_POINT_LINER, OnPointLiner)
	ON_COMMAND(ID_POINT_WIND, OnPointWind)
	ON_COMMAND(ID_VIEW_INTENSITY, OnViewIntensity)
	ON_COMMAND(ID_POINT_STRE, OnPointStre)
	ON_COMMAND(ID_FREQ_FOUR, OnFreqFour)
	ON_COMMAND(ID_FREQ_DCT, OnFreqDct)
	ON_COMMAND(ID_POINT_THRE, OnPointThre)
	ON_COMMAND(ID_ENHA_SMOOTH, OnEnhaSmooth)
	ON_COMMAND(ID_ENHA_MidianF, OnENHAMidianF)
	ON_COMMAND(ID_ENHA_SHARP, OnEnhaSharp)
	ON_COMMAND(ID_ENHA_COLOR, OnEnhaColor)
	ON_COMMAND(ID_FILE_256ToGray, OnFILE256ToGray)
	ON_COMMAND(ID_ENHA_GRADSHARP, OnEnhaGradsharp)
	ON_COMMAND(ID_FREQ_WALH, OnFreqWalh)
	ON_COMMAND(ID_CODE_HUFFMAN, OnCodeHuffman)
	ON_COMMAND(ID_CODE_RLE, OnCodeRLE)
	ON_COMMAND(ID_CODE_IRLE, OnCodeIRLE)
	ON_COMMAND(ID_CODE_JEPG, OnCodeJEPG)
	ON_COMMAND(ID_CODE_IJEPG, OnCodeIJEPG)
	ON_COMMAND(ID_CODE_SHANNON, OnCodeShannon)
	ON_COMMAND(ID_MORPH_EROSION, OnMorphErosion)
	ON_COMMAND(ID_MORPH_DILATION, OnMorphDilation)
	ON_COMMAND(ID_MORPH_OPEN, OnMorphOpen)
	ON_COMMAND(ID_MORPH_CLOSE, OnMorphClose)
	ON_COMMAND(ID_MORPH_THINING, OnMorphThining)
	ON_COMMAND(ID_EDGE_FILL, OnEdgeFill)
	ON_COMMAND(ID_EDGE_GAUSS, OnEdgeGauss)
	ON_COMMAND(ID_EDGE_HOUGH, OnEdgeHough)
	ON_COMMAND(ID_EDGE_KIRSCH, OnEdgeKirsch)
	ON_COMMAND(ID_EDGE_PREWITT, OnEdgePrewitt)
	ON_COMMAND(ID_EDGE_ROBERT, OnEdgeRobert)
	ON_COMMAND(ID_EDGE_SOBEL, OnEdgeSobel)
	ON_COMMAND(ID_EDGE_TRACE, OnEdgeTrace)
	ON_COMMAND(ID_DETECT_HPROJECTION, OnDetectHprojection)
	ON_COMMAND(ID_DETECT_MINUS, OnDetectMinus)
	ON_COMMAND(ID_DETECT_TEMPLATE, OnDetectTemplate)
	ON_COMMAND(ID_DETECT_THRESHOLD, OnDetectThreshold)
	ON_COMMAND(ID_DETECT_VPROJECTION, OnDetectVprojection)
	ON_COMMAND(ID_RESTORE_BLUR, OnRestoreBlur)
	ON_COMMAND(ID_RESTORE_INVERSE, OnRestoreInverse)
	ON_COMMAND(ID_RESTORE_NOISEBLUR, OnRestoreNoiseblur)
	ON_COMMAND(ID_RESTORE_RANDOMNOISE, OnRestoreRandomnoise)
	ON_COMMAND(ID_RESTORE_SALTNOISE, OnRestoreSaltnoise)
	ON_COMMAND(ID_RESTORE_WIENER, OnRestoreWiener)
	ON_COMMAND(ID_EDGE_CONTOUR, OnEdgeContour)
	ON_COMMAND(ID_CODE_LZW, OnCodeLzw)
	ON_COMMAND(ID_CODE_ILZW, OnCodeIlzw)
	ON_COMMAND(ID_EDGE_FILL2, OnEdgeFill2)
	//}}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()

/////////////////////////////////////////////////////////////////////////////
// CCh1_1View construction/destruction

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

}

CCh1_1View::~CCh1_1View()
{
}

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

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CCh1_1View drawing

void CCh1_1View::OnDraw(CDC* pDC)
{
	
	// 顯示等待光標(biāo)
	BeginWaitCursor();
	
	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	
	// 獲取DIB
	HDIB hDIB = pDoc->GetHDIB();
	
	// 判斷DIB是否為空
	if (hDIB != NULL)
	{
		LPSTR lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);
		
		// 獲取DIB寬度
		int cxDIB = (int) ::DIBWidth(lpDIB);
		
		// 獲取DIB高度
		int cyDIB = (int) ::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);
			
			// 獲取打印機(jī)每英寸象素數(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;
		}
		
		// 輸出DIB
		::PaintDIB(pDC->m_hDC, &rcDest, pDoc->GetHDIB(),
			&rcDIB, pDoc->GetDocPalette());
	}
	
	// 恢復(fù)正常光標(biāo)
	EndWaitCursor();
	
}

/////////////////////////////////////////////////////////////////////////////
// CCh1_1View printing

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

	return DoPreparePrinting(pInfo);
}

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

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

/////////////////////////////////////////////////////////////////////////////
// CCh1_1View diagnostics

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CCh1_1View message handlers


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

	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();

	// 創(chuàng)建一個Brush
	CBrush brush(pDoc->m_refColorBKG);                                              
                                                                                  
	// 保存以前的Brush
	CBrush* pOldBrush = pDC->SelectObject(&brush);
	
	// 獲取重繪區(qū)域
	CRect rectClip;
	pDC->GetClipBox(&rectClip);
	
	// 重繪
	pDC->PatBlt(rectClip.left, rectClip.top, rectClip.Width(), rectClip.Height(), PATCOPY);

	// 恢復(fù)以前的Brush
	pDC->SelectObject(pOldBrush);                                                  

	// 返回
	return TRUE;

}

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

	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 判斷DIB是否為空
	if (pDoc->GetHDIB() == NULL)
	{
		// 直接返回
		return 0L;
	}
	
	// 獲取Palette
	CPalette* pPal = pDoc->GetDocPalette();
	if (pPal != NULL)
	{
		// 獲取MainFrame
		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 CCh1_1View::OnInitialUpdate() 
{
	CView::OnInitialUpdate();
	
	// TODO: Add your specialized code here and/or call the base class
	
}

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

void CCh1_1View::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 CCh1_1View::OnEditCopy() 
{
	// 復(fù)制當(dāng)前圖像

	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 打開剪貼板
	if (OpenClipboard())
	{
		// 更改光標(biāo)形狀
		BeginWaitCursor();
		
		// 清空剪貼板
		EmptyClipboard();
		
		// 復(fù)制當(dāng)前圖像到剪貼板
		SetClipboardData (CF_DIB, CopyHandle((HANDLE) pDoc->GetHDIB()) );
		
		// 關(guān)閉剪貼板
		CloseClipboard();
		
		// 恢復(fù)光標(biāo)
		EndWaitCursor();
	}
}

void CCh1_1View::OnEditPaste() 
{
	// 粘貼圖像
	
	// 創(chuàng)建新DIB
	HDIB hNewDIB = NULL;
	
	// 打開剪貼板
	if (OpenClipboard())
	{
		// 更改光標(biāo)形狀
		BeginWaitCursor();

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

		// 關(guān)閉剪貼板
		CloseClipboard();
		
		// 判斷是否讀取成功
		if (hNewDIB != NULL)
		{
			// 獲取文檔
			CCh1_1Doc* pDoc = GetDocument();

			// 替換DIB,同時釋放舊DIB對象
			pDoc->ReplaceHDIB(hNewDIB);

			// 更新DIB大小和調(diào)色板
			pDoc->InitDIBData();

			// 設(shè)置臟標(biāo)記
			pDoc->SetModifiedFlag(TRUE);
			
			// 重新設(shè)置滾動視圖大小
			SetScrollSizes(MM_TEXT, pDoc->GetDocSize());

			// 實現(xiàn)新的調(diào)色板
			OnDoRealize((WPARAM)m_hWnd,0);

			// 更新視圖
			pDoc->UpdateAllViews(NULL);
		}
		// 恢復(fù)光標(biāo)
		EndWaitCursor();
	}
}

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

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

void CCh1_1View::OnViewIntensity() 
{
	// 查看當(dāng)前圖像灰度直方圖
	
	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 指向DIB的指針
	LPSTR lpDIB;
	
	// 指向DIB象素指針
	LPSTR    lpDIBBits;
	
	// 鎖定DIB
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());
	
	// 找到DIB圖像象素起始位置
	lpDIBBits = ::FindDIBBits(lpDIB);
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖,其它的可以類推)
	if (::DIBNumColors(lpDIB) != 256)
	{
		// 提示用戶
		MessageBox("目前只支持查看256色位圖灰度直方圖!", "系統(tǒng)提示" , MB_ICONINFORMATION | MB_OK);
		
		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	// 更改光標(biāo)形狀
	BeginWaitCursor();
	
	// 創(chuàng)建對話框
	CDlgIntensity dlgPara;
	
	// 初始化變量值
	dlgPara.m_lpDIBBits = lpDIBBits;
	dlgPara.m_lWidth = ::DIBWidth(lpDIB);
	dlgPara.m_lHeight = ::DIBHeight(lpDIB);
	dlgPara.m_iLowGray = 0;
	dlgPara.m_iUpGray = 255;
	
	// 顯示對話框,提示用戶設(shè)定平移量
	if (dlgPara.DoModal() != IDOK)
	{
		// 返回
		return;
	}
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

	// 恢復(fù)光標(biāo)
	EndWaitCursor();
	
}

//////////////////////////////////////////////////////////////////////////////////////
//  圖像點運算
//
void CCh1_1View::OnPointInvert() 
{
	// 圖像反色
	
	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 指向DIB的指針
	LPSTR lpDIB;
	
	// 指向DIB象素指針
	LPSTR    lpDIBBits;
	
	// 線性變換的斜率
	FLOAT fA;
	
	// 線性變換的截距
	FLOAT fB;
	
	// 反色操作的線性變換的方程是-x + 255
	fA = -1.0;
	fB = 255.0;
	
	// 鎖定DIB
	lpDIB = (LPSTR) ::GlobalLock((HGLOBAL) pDoc->GetHDIB());

	// 找到DIB圖像象素起始位置
	lpDIBBits = ::FindDIBBits(lpDIB);
	
	// 判斷是否是8-bpp位圖(這里為了方便,只處理8-bpp位圖的反色,其它的可以類推)
	if (::DIBNumColors(lpDIB) != 256)
	{
		// 提示用戶
		MessageBox("目前只支持256色位圖的反色!", "系統(tǒng)提示" , MB_ICONINFORMATION | MB_OK);
		
		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	// 更改光標(biāo)形狀
	BeginWaitCursor();
	
	// 調(diào)用LinerTrans()函數(shù)反色
	LinerTrans(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), fA, fB);
	
	// 設(shè)置臟標(biāo)記
	pDoc->SetModifiedFlag(TRUE);
	
	// 更新視圖
	pDoc->UpdateAllViews(NULL);
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

	// 恢復(fù)光標(biāo)
	EndWaitCursor();
	
}

void CCh1_1View::OnPointLiner() 
{
	// 線性變換
	
	// 獲取文檔
	CCh1_1Doc* pDoc = GetDocument();
	
	// 指向DIB的指針
	LPSTR lpDIB;
	
	// 指向DIB象素指針
	LPSTR    lpDIBBits;
	
	// 創(chuàng)建對話框
	CDlgLinerPara dlgPara;
	
	// 線性變換的斜率
	FLOAT fA;
	
	// 線性變換的截距

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美www| 日本道精品一区二区三区| 欧美成人乱码一区二区三区| 日本视频中文字幕一区二区三区| 欧美日韩高清影院| 久久国产麻豆精品| 日本一区二区三区国色天香| 成人av资源在线| 一区二区三区中文字幕在线观看| 在线观看国产精品网站| 日韩电影免费一区| 亚洲精品一区二区三区四区高清| 高清不卡一二三区| 亚洲综合一二区| 日韩欧美一区二区久久婷婷| 国产成人精品免费在线| 亚洲桃色在线一区| 91精品国产综合久久久久| 国产精品一卡二卡在线观看| 1区2区3区欧美| 777奇米成人网| 国产白丝网站精品污在线入口| 亚洲欧洲日韩女同| 制服丝袜中文字幕一区| 国产精品18久久久久久久久| 亚洲一区国产视频| 久久久亚洲精品石原莉奈 | 男女男精品网站| 久久精品视频网| 在线免费观看一区| 国内成人自拍视频| 亚洲久本草在线中文字幕| 91精品国产入口| 99精品欧美一区二区三区综合在线| 性感美女久久精品| 国产女人18毛片水真多成人如厕| 在线观看日韩国产| 国产成人综合在线播放| 亚洲第一精品在线| 亚洲国产成人自拍| 91精品在线观看入口| 色呦呦日韩精品| 久久精品久久综合| 亚洲图片一区二区| 亚洲国产精品v| 久久综合成人精品亚洲另类欧美| 在线观看区一区二| 99精品视频中文字幕| 国产主播一区二区| 偷拍一区二区三区| 一区二区三区免费网站| 欧美激情一区二区三区在线| 在线不卡中文字幕播放| 色婷婷综合久久久| 成人av小说网| 国产呦萝稀缺另类资源| 蜜臀va亚洲va欧美va天堂| 亚洲综合精品久久| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 在线观看视频91| 成人激情视频网站| 国产一区二三区| 麻豆精品视频在线观看免费| 日韩黄色免费网站| 亚洲国产另类精品专区| 玉足女爽爽91| 一区二区三区日韩精品视频| 亚洲柠檬福利资源导航| 国产精品麻豆网站| 中文字幕在线一区| 日本一区二区三区四区在线视频| 久久婷婷综合激情| 久久人人97超碰com| 久久综合久久久久88| 久久综合网色—综合色88| 欧美mv日韩mv| 久久久国产一区二区三区四区小说| 精品国一区二区三区| 欧美mv和日韩mv的网站| 久久五月婷婷丁香社区| 国产午夜三级一区二区三| 久久久久亚洲综合| 国产精品污www在线观看| 国产欧美视频一区二区| 欧美极品另类videosde| 国产欧美久久久精品影院| 国产精品久线在线观看| 一区二区三区成人| 亚洲地区一二三色| 麻豆精品视频在线观看视频| 国产在线精品一区二区夜色| 国产成人免费在线视频| 91视视频在线直接观看在线看网页在线看 | 日韩三级视频在线看| 亚洲精品在线免费播放| 国产清纯白嫩初高生在线观看91| 国产精品久久久久久久久久久免费看 | 国产一区免费电影| 99久久久精品| 欧美日韩一区在线| 欧美不卡一二三| 国产精品免费aⅴ片在线观看| 中文字幕日本不卡| 亚洲夂夂婷婷色拍ww47| 青青草97国产精品免费观看 | 国产精品色婷婷久久58| 一区二区三区四区激情| 久久精品99国产精品日本| 国产91综合网| 欧美日韩一区二区欧美激情| 91精品国产综合久久久蜜臀粉嫩| 久久久久久日产精品| 亚洲免费视频成人| 久久99精品国产麻豆婷婷| 成人的网站免费观看| 精品婷婷伊人一区三区三| 久久久久久久精| 亚洲风情在线资源站| 裸体一区二区三区| 色又黄又爽网站www久久| 日韩一区二区三免费高清| 亚洲欧洲国产日韩| 精品一二三四区| 在线观看中文字幕不卡| 久久久久9999亚洲精品| 亚洲成人精品在线观看| 成人免费av网站| 欧美一区二区三区视频| 亚洲猫色日本管| 国产一区二区在线观看视频| 精品1区2区3区| 亚洲日本韩国一区| 国产尤物一区二区在线| 91麻豆精品国产自产在线观看一区 | 欧美亚洲国产怡红院影院| 久久久久青草大香线综合精品| 亚洲在线观看免费| 成人久久18免费网站麻豆 | 免费成人小视频| 在线精品亚洲一区二区不卡| 国产三级三级三级精品8ⅰ区| 亚洲国产欧美一区二区三区丁香婷| 国产精品一级黄| 精品国一区二区三区| 亚洲bt欧美bt精品777| 99久久er热在这里只有精品15| 2014亚洲片线观看视频免费| 日本成人超碰在线观看| 欧美日韩一区二区三区在线看 | 一区二区视频在线| 成人性视频网站| 国产网站一区二区| 国产精品中文欧美| 精品噜噜噜噜久久久久久久久试看 | 亚洲国产一区视频| 色婷婷综合激情| 亚洲视频网在线直播| 成人av电影观看| 亚洲欧洲日产国码二区| 国产不卡高清在线观看视频| 国产人成亚洲第一网站在线播放| 激情深爱一区二区| 精品sm捆绑视频| 狠狠色综合日日| 国产亚洲精品超碰| 国产激情一区二区三区桃花岛亚洲| 精品少妇一区二区三区在线播放 | 色又黄又爽网站www久久| 综合久久久久久久| 99精品欧美一区二区三区小说 | 欧美国产精品久久| 国产**成人网毛片九色| 国产精品女同一区二区三区| k8久久久一区二区三区| 国产精品久久三区| 日本道精品一区二区三区| 一区二区三区加勒比av| 欧美色区777第一页| 亚洲人成伊人成综合网小说| 色婷婷av一区二区三区之一色屋| 一区二区在线观看免费| 欧美午夜不卡在线观看免费| 五月激情综合色| 欧美大片在线观看一区二区| 久久99精品国产.久久久久| 国产亚洲精品bt天堂精选| jlzzjlzz欧美大全| 18成人在线视频| 欧美亚洲国产bt| 日本欧美在线看| 久久精品欧美一区二区三区不卡| 波多野结衣中文字幕一区二区三区 | 国产成人精品www牛牛影视| 1区2区3区国产精品| 欧美另类变人与禽xxxxx| 久久99精品网久久| 亚洲丝袜另类动漫二区| 欧美在线不卡视频| 精品一区二区三区久久| 国产精品国产三级国产普通话99 |