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

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

?? 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)
{
	
	// 顯示等待光標
	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);
			
			// 計算打印圖像大?。s放,根據頁面寬度調整圖像大?。?			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一区二区三区免费野_久草精品视频
亚洲第一成人在线| 亚洲成人av一区| 从欧美一区二区三区| 精品乱人伦小说| 国产一区欧美日韩| 国产精品美女久久久久久久久久久 | 日韩和欧美一区二区| 久久精品国产免费看久久精品| 精品少妇一区二区三区在线播放| 麻豆91精品91久久久的内涵| 久久久久久久网| 成人av网站免费观看| 亚洲一区二区在线视频| 777奇米成人网| 国产精品中文字幕日韩精品 | 成人精品在线视频观看| 国产不卡视频在线播放| 亚洲少妇最新在线视频| 欧美精品九九99久久| 国产自产2019最新不卡| 亚洲欧洲国产日本综合| 欧美日本免费一区二区三区| 国产在线精品免费av| 一区在线播放视频| 日韩一区二区影院| 成人av网址在线| 人人狠狠综合久久亚洲| 国产精品久久久久久久午夜片| 欧美亚一区二区| 国产麻豆视频精品| 亚洲国产欧美在线| 久久久国际精品| 欧美日韩免费在线视频| 国产福利电影一区二区三区| 亚洲永久免费av| 久久久不卡网国产精品一区| 欧美性感一类影片在线播放| 国产一区在线观看麻豆| 午夜av电影一区| 亚洲欧美一区二区不卡| 日韩一区二区在线看| 91丝袜国产在线播放| 久久99九九99精品| 亚洲成人综合在线| 国产精品久久免费看| 欧美一区2区视频在线观看| 91麻豆123| 国产成人夜色高潮福利影视| 日本亚洲天堂网| 婷婷丁香激情综合| 97se亚洲国产综合在线| 狠狠色狠狠色综合| 亚洲国产精品综合小说图片区| 久久精品无码一区二区三区| 欧美日韩不卡一区| 日本国产一区二区| 99热99精品| 国产99久久久国产精品免费看| 美国毛片一区二区| 三级欧美在线一区| 亚洲国产成人tv| 欧美制服丝袜第一页| 国产伦精品一区二区三区视频青涩 | 国产精品二区一区二区aⅴ污介绍| 日韩一卡二卡三卡| 51精品国自产在线| 欧美三级一区二区| 在线观看亚洲一区| 欧美专区日韩专区| 久久精品免费看| 洋洋成人永久网站入口| 日韩一区中文字幕| 国产精品高潮呻吟| 中文字幕一区二区三区蜜月| 国产精品免费视频网站| 久久嫩草精品久久久精品| 精品国产亚洲一区二区三区在线观看| 欧美日韩黄色影视| 在线看日本不卡| 欧美网站一区二区| 欧美三级视频在线播放| 偷拍一区二区三区四区| 日韩国产欧美视频| 狠狠色狠狠色综合| 欧美不卡一区二区三区四区| 欧美www视频| 精品国产乱码久久久久久影片| 精品成人私密视频| 欧美大尺度电影在线| 精品欧美乱码久久久久久 | 欧美一区二区三区色| 精品久久久久香蕉网| 日韩欧美一区在线观看| 欧美大片免费久久精品三p| 久久久不卡网国产精品一区| 国产三级精品在线| 日韩美女啊v在线免费观看| 亚洲午夜影视影院在线观看| 首页国产欧美久久| 久久精品久久精品| 丁香啪啪综合成人亚洲小说| 色网综合在线观看| 在线不卡中文字幕播放| 欧美精品一区男女天堂| 欧美激情一区二区三区全黄| 亚洲精选在线视频| 蜜桃一区二区三区四区| 国产麻豆视频一区二区| 欧洲av在线精品| 日韩精品一区二区三区视频| 国产欧美日韩精品在线| 亚洲免费观看高清完整版在线观看| 亚洲国产精品视频| 国产一区二区三区美女| 色综合婷婷久久| 日韩精品一区二区三区三区免费 | 国产精品白丝在线| 午夜免费久久看| 国产一区二三区好的| 91麻豆成人久久精品二区三区| 91精品国产免费久久综合| 国产片一区二区三区| 亚洲高清免费一级二级三级| 国产一区999| 日本国产一区二区| 欧美极品xxx| 日韩电影免费一区| 国产成人精品一区二区三区四区| 欧美日韩在线直播| 国产免费成人在线视频| 亚洲国产aⅴ天堂久久| 亚洲成在人线在线播放| 国产黄色成人av| 欧美福利电影网| 亚洲欧美日韩综合aⅴ视频| 日韩高清国产一区在线| 色综合久久综合网欧美综合网| 精品免费99久久| 日本成人中文字幕在线视频| 91在线观看下载| 久久精品视频一区| 青娱乐精品在线视频| 在线观看成人小视频| 欧美激情中文字幕| 精品一区二区三区在线观看 | 久久精品国产久精国产| 欧美丝袜丝交足nylons| 国产精品久久久久久久久免费丝袜| 丝袜亚洲另类欧美综合| 在线观看91精品国产入口| 国产精品毛片无遮挡高清| 久久成人免费网| 日韩一级片网址| 日韩电影在线免费观看| 欧美视频中文字幕| 亚洲黄色在线视频| 色综合激情久久| 亚洲欧美成aⅴ人在线观看| av一区二区久久| 国产欧美综合在线| 精品一区二区免费视频| 国产精品一区二区在线播放 | 国产丶欧美丶日本不卡视频| 日韩美女在线视频| 欧美aaaaa成人免费观看视频| 欧美日韩精品一区二区三区四区| 亚洲人123区| 色94色欧美sute亚洲线路一久| 久久欧美中文字幕| 国产不卡视频在线播放| 国产精品私人影院| 成人va在线观看| 最新中文字幕一区二区三区| 99久久精品情趣| 一区二区三区丝袜| 欧美中文字幕一区| 视频一区二区不卡| 欧美精品一区二区三区很污很色的| 极品少妇一区二区| 国产欧美日韩在线视频| 成人免费观看av| 一区二区三区精品在线| 欧美人xxxx| 精一区二区三区| 亚洲精品一区二区三区影院| 国产精品一区二区久久精品爱涩| 久久精品视频免费| 91麻豆免费看片| 午夜精品福利视频网站| 欧美日韩一区三区四区| 蜜臀精品久久久久久蜜臀| 欧美视频三区在线播放| 免费观看成人av| 久久久精品免费免费| 91香蕉视频mp4| 石原莉奈在线亚洲二区| 国产欧美精品一区| 欧美午夜影院一区| 久久精品国产色蜜蜜麻豆| 中文字幕一区三区|