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

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

?? ch1_1view.cpp

?? VC++數字圖像處理 配套光盤
?? 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)
{
	
	// 顯示等待光標
	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);
			
			// 獲取打印機每英寸象素數
			int cxInch = pDC->GetDeviceCaps(LOGPIXELSX);
			int cyInch = pDC->GetDeviceCaps(LOGPIXELSY);
			
			// 計算打印圖像大小(縮放,根據頁面寬度調整圖像大小)
			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());
	}
	
	// 恢復正常光標
	EndWaitCursor();
	
}

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

BOOL CCh1_1View::OnPreparePrinting(CPrintInfo* pInfo)
{
	// 設置總頁數為一。
	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) 
{
	// 主要是為了設置子窗體默認的背景色
	// 背景色由文檔成員變量m_refColorBKG指定

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

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

	// 恢復以前的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中調用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() 
{
	// 復制當前圖像

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

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

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

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

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

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

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

			// 實現新的調色板
			OnDoRealize((WPARAM)m_hWnd,0);

			// 更新視圖
			pDoc->UpdateAllViews(NULL);
		}
		// 恢復光標
		EndWaitCursor();
	}
}

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

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

void CCh1_1View::OnViewIntensity() 
{
	// 查看當前圖像灰度直方圖
	
	// 獲取文檔
	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色位圖灰度直方圖!", "系統提示" , MB_ICONINFORMATION | MB_OK);
		
		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	// 更改光標形狀
	BeginWaitCursor();
	
	// 創建對話框
	CDlgIntensity dlgPara;
	
	// 初始化變量值
	dlgPara.m_lpDIBBits = lpDIBBits;
	dlgPara.m_lWidth = ::DIBWidth(lpDIB);
	dlgPara.m_lHeight = ::DIBHeight(lpDIB);
	dlgPara.m_iLowGray = 0;
	dlgPara.m_iUpGray = 255;
	
	// 顯示對話框,提示用戶設定平移量
	if (dlgPara.DoModal() != IDOK)
	{
		// 返回
		return;
	}
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

	// 恢復光標
	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色位圖的反色!", "系統提示" , MB_ICONINFORMATION | MB_OK);
		
		// 解除鎖定
		::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());
		
		// 返回
		return;
	}
	
	// 更改光標形狀
	BeginWaitCursor();
	
	// 調用LinerTrans()函數反色
	LinerTrans(lpDIBBits, ::DIBWidth(lpDIB), ::DIBHeight(lpDIB), fA, fB);
	
	// 設置臟標記
	pDoc->SetModifiedFlag(TRUE);
	
	// 更新視圖
	pDoc->UpdateAllViews(NULL);
	
	// 解除鎖定
	::GlobalUnlock((HGLOBAL) pDoc->GetHDIB());

	// 恢復光標
	EndWaitCursor();
	
}

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合视频网| 一本一道综合狠狠老| 国产91在线|亚洲| 91丨九色porny丨蝌蚪| 欧美吻胸吃奶大尺度电影| 日韩一区二区免费在线电影| 2欧美一区二区三区在线观看视频| 国产肉丝袜一区二区| 日韩理论片中文av| 丝袜亚洲另类丝袜在线| 国产一区二区三区观看| 色爱区综合激月婷婷| 欧美一区二区精品久久911| 国产亚洲短视频| 亚洲超碰精品一区二区| 国产伦精品一区二区三区在线观看| 成人涩涩免费视频| 91精品一区二区三区久久久久久 | 日韩一区欧美二区| 国产成人午夜电影网| 欧美视频在线一区| 国产丝袜欧美中文另类| 亚洲电影视频在线| 成人国产精品免费观看视频| 91麻豆精品国产自产在线观看一区| 欧美激情一区二区三区在线| 日本中文字幕一区二区视频| 粉嫩欧美一区二区三区高清影视| 欧美日韩免费电影| 国产精品污污网站在线观看| 日韩精品免费专区| 色综合婷婷久久| 精品国产91亚洲一区二区三区婷婷| 亚洲男人的天堂网| 国产精品夜夜嗨| 666欧美在线视频| 一区二区三区四区在线播放 | 久久先锋影音av鲁色资源网| 亚洲国产一区二区在线播放| 成人小视频免费观看| 日韩女优av电影| 亚洲国产视频一区二区| 成人精品免费网站| 久久亚洲捆绑美女| 蜜臀av性久久久久蜜臀aⅴ流畅| 91精品办公室少妇高潮对白| 中文字幕精品综合| 国精产品一区一区三区mba视频 | 偷拍日韩校园综合在线| 91美女蜜桃在线| 国产喷白浆一区二区三区| 另类小说一区二区三区| 欧美高清你懂得| 亚洲午夜在线视频| 在线视频国内一区二区| 一区在线播放视频| 成人精品亚洲人成在线| 久久九九99视频| 麻豆精品国产传媒mv男同| 欧美精品三级日韩久久| 亚洲午夜精品17c| 欧美伊人久久久久久久久影院| 中文字幕一区二区不卡| 不卡的av电影| 17c精品麻豆一区二区免费| 成人性生交大合| 国产精品视频第一区| 久久99久国产精品黄毛片色诱| 欧美一区二区三区色| 日韩精品免费专区| 日韩一级片在线播放| 青青草97国产精品免费观看| 欧美一区二区黄| 免费观看在线综合色| 日韩一区国产二区欧美三区| 日本三级亚洲精品| 日韩精品一区二区在线| 日av在线不卡| 亚洲视频一区在线观看| 99久久精品久久久久久清纯| 中文字幕日韩一区| 91麻豆国产在线观看| 一区二区三区不卡视频在线观看 | 一区二区三区**美女毛片| 91亚洲精品乱码久久久久久蜜桃| 国产午夜精品福利| 99re在线精品| 一区二区三区在线视频免费观看 | 亚洲高清不卡在线| 91精品午夜视频| 久久99国产精品久久99| 国产亚洲自拍一区| jlzzjlzz欧美大全| 亚洲欧美日韩中文播放| 色噜噜狠狠色综合欧洲selulu| 一区二区三区小说| 欧美一区二区三区在线电影| 国内外成人在线| 久久久777精品电影网影网| 不卡的电影网站| 亚洲精品乱码久久久久久日本蜜臀| 在线国产亚洲欧美| 热久久免费视频| 中文字幕国产一区二区| 在线免费观看成人短视频| 视频一区欧美精品| 久久久精品综合| 色噜噜久久综合| 免费看欧美美女黄的网站| 国产农村妇女毛片精品久久麻豆 | 亚洲成人精品一区| 精品国产污网站| 99精品视频在线观看| 青青草91视频| 成人免费在线观看入口| 91麻豆精品国产91| 成人免费高清视频在线观看| 亚洲裸体xxx| 精品国产一区二区精华| 91亚洲永久精品| 麻豆91在线播放| 亚洲啪啪综合av一区二区三区| 9191国产精品| 成人免费av资源| 日韩高清不卡一区二区三区| 国产三级精品在线| 欧美高清性hdvideosex| 不卡一区中文字幕| 另类中文字幕网| 亚洲综合免费观看高清在线观看| 26uuu久久天堂性欧美| 色噜噜狠狠成人中文综合| 国精产品一区一区三区mba视频| 一区二区三区自拍| 欧美一区二区高清| 99国内精品久久| 理论片日本一区| 亚洲码国产岛国毛片在线| 精品国产一区二区三区久久影院 | 亚洲综合区在线| 久久在线观看免费| 风间由美一区二区三区在线观看 | 国产亚洲综合在线| 色天天综合色天天久久| 久久99精品国产| 午夜亚洲福利老司机| 国产精品久久久一区麻豆最新章节| 4438x亚洲最大成人网| 91网页版在线| 国产一区二区三区| 日韩激情av在线| 一区二区三区免费在线观看| 久久蜜桃一区二区| 欧美精品在线观看播放| 一本大道综合伊人精品热热| 国产米奇在线777精品观看| 午夜电影网亚洲视频| 亚洲图片你懂的| 国产午夜精品一区二区| 日韩亚洲欧美在线| 欧美日韩亚洲不卡| 色哟哟国产精品| eeuss鲁片一区二区三区 | 久久久一区二区三区| 日韩欧美激情四射| 欧美绝品在线观看成人午夜影视| 99re成人精品视频| 欧美久久婷婷综合色| 色综合久久天天| 成人黄色软件下载| 国产99久久久国产精品潘金网站| 国产一区二区三区免费观看| 免费av成人在线| 日韩高清不卡在线| 日韩av在线发布| 日本少妇一区二区| 日韩中文字幕麻豆| 日本大胆欧美人术艺术动态| 天天av天天翘天天综合网 | 91福利社在线观看| 91蜜桃在线免费视频| 色系网站成人免费| 色婷婷av一区二区三区之一色屋| 99久久精品国产麻豆演员表| 精品一区二区三区在线播放 | 久久嫩草精品久久久久| 精品国产乱码久久久久久免费| 日韩欧美一级精品久久| 日韩免费视频一区二区| 欧美大片日本大片免费观看| 日韩视频免费观看高清完整版在线观看| 777午夜精品视频在线播放| 欧美日韩国产首页| 欧美一级专区免费大片| 欧美一区二区网站| 精品久久久三级丝袜| 国产欧美日韩麻豆91| 亚洲人成网站影音先锋播放| 亚洲一区二区在线免费观看视频 | 欧美精品久久久久久久多人混战|