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

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

?? ch1_1view.cpp

?? 《Visual C++數(shù)字圖像處理》配套源代碼
?? 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;
	
	// 線性變換的截距
	FLOAT fB;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草伊人久久| 日韩av电影免费观看高清完整版| 精品少妇一区二区三区在线播放| 91国内精品野花午夜精品| 91老师片黄在线观看| 99视频有精品| 色综合色狠狠综合色| 99精品欧美一区| 欧美在线视频全部完| 欧美性大战久久| 欧美日韩一区三区| 91麻豆精品国产91| 欧美一级高清片在线观看| 欧美成人三级在线| 成人国产精品免费网站| 麻豆国产精品777777在线| 日韩国产欧美在线播放| 久久er99热精品一区二区| 久久99精品网久久| 国产a视频精品免费观看| 成人精品视频一区二区三区 | 午夜欧美在线一二页| 日韩专区一卡二卡| 精品午夜一区二区三区在线观看| 蜜桃av一区二区三区| 国模无码大尺度一区二区三区| 紧缚奴在线一区二区三区| 国产成人午夜精品5599| 色综合色狠狠综合色| 欧美巨大另类极品videosbest| 欧美电视剧在线看免费| 欧美激情综合在线| 一区二区在线观看不卡| 日日夜夜精品视频天天综合网| 免费观看一级特黄欧美大片| 国产不卡一区视频| 欧美日韩一区二区三区免费看| 欧美电影免费提供在线观看| 国产视频视频一区| 亚洲香肠在线观看| 国产精品影视在线| 在线观看av一区| 精品日韩欧美一区二区| 亚洲视频你懂的| 蜜臀av一区二区在线观看| 99天天综合性| 精品蜜桃在线看| 亚洲免费观看高清完整版在线观看| 亚洲超碰97人人做人人爱| 国产成人自拍在线| 欧美精品亚洲一区二区在线播放| 久久久五月婷婷| 亚洲一区二区精品视频| 国产乱人伦偷精品视频不卡| 91福利在线观看| 国产午夜三级一区二区三| 亚洲国产一区二区视频| 国产不卡在线一区| 日韩一区二区三区视频| 亚洲乱码精品一二三四区日韩在线| 久久精品久久精品| 在线观看av不卡| 中文子幕无线码一区tr| 日韩不卡在线观看日韩不卡视频| 波多野结衣亚洲| 欧美大片免费久久精品三p| 亚洲精品videosex极品| 国产福利91精品一区| 欧美一区二区三区免费大片| 亚洲美女免费视频| 丁香六月综合激情| 精品三级在线观看| 天堂成人国产精品一区| 91视频你懂的| 中文字幕在线一区二区三区| 麻豆精品一区二区三区| 欧美日本高清视频在线观看| 亚洲免费在线看| 成人av中文字幕| 久久综合色综合88| 天天爽夜夜爽夜夜爽精品视频| 91视频观看视频| 国产精品久久网站| 国产91丝袜在线播放九色| 欧美大片一区二区| 男女男精品视频| 91麻豆精品国产91| 三级一区在线视频先锋| 欧美性三三影院| 亚洲一区二区在线视频| 91福利视频网站| 一区二区三区不卡视频在线观看| 99精品桃花视频在线观看| 国产精品人人做人人爽人人添| 国产高清久久久| 久久久久久久久久久电影| 国产真实乱子伦精品视频| 日韩欧美国产小视频| 久久成人久久鬼色| 日韩欧美成人激情| 久久不见久久见中文字幕免费| 欧美精品1区2区3区| 午夜精品福利一区二区蜜股av| 欧美三级在线视频| 天堂资源在线中文精品| 欧美老肥妇做.爰bbww视频| 天堂影院一区二区| 日韩视频一区二区三区在线播放 | 不卡高清视频专区| 国产精品久久久久久久久图文区 | 97se亚洲国产综合自在线不卡 | 狠狠色狠狠色综合系列| 2024国产精品| 成人网在线免费视频| 国产精品久久精品日日| av激情亚洲男人天堂| 亚洲三级电影全部在线观看高清| 色吊一区二区三区| 亚洲国产成人91porn| 欧美电影一区二区三区| 久草在线在线精品观看| 久久久www成人免费无遮挡大片| 国v精品久久久网| 亚洲欧美日韩综合aⅴ视频| 欧美日韩综合一区| 麻豆高清免费国产一区| www精品美女久久久tv| 不卡视频免费播放| 亚洲成人av免费| 久久综合久久鬼色| av亚洲精华国产精华精华| 亚洲一区二区在线观看视频| 日韩一区二区三区电影在线观看| 国内精品嫩模私拍在线| 亚洲欧洲日本在线| 欧美夫妻性生活| 国产成a人亚洲| 夜夜揉揉日日人人青青一国产精品| 欧美日韩一级视频| 国产在线精品免费| 一区二区三区成人| 26uuu另类欧美| 欧美中文字幕不卡| 精品一区二区在线视频| 日韩毛片精品高清免费| 日韩一二三四区| 高清成人免费视频| 日日夜夜精品视频天天综合网| 国产婷婷一区二区| 欧美日韩国产另类一区| 国产乱人伦偷精品视频不卡| 亚洲一区二区精品3399| 久久久久久久国产精品影院| 欧洲色大大久久| 国产成a人无v码亚洲福利| 亚洲成人动漫一区| 国产精品嫩草99a| 91精品国产免费| av资源网一区| 久久国产精品无码网站| 亚洲自拍另类综合| 久久精品综合网| 91麻豆精品91久久久久同性| 99视频精品在线| 国内外精品视频| 天堂久久一区二区三区| 亚洲视频一区二区免费在线观看| 欧美成人一区二区| 欧美日韩激情一区二区三区| 国产91丝袜在线观看| 另类小说综合欧美亚洲| 亚洲影视资源网| 亚洲国产高清在线| 精品久久久久久久一区二区蜜臀| 一本大道久久精品懂色aⅴ| 国内不卡的二区三区中文字幕 | av亚洲精华国产精华精华| 精品一二三四在线| 午夜在线成人av| 亚洲久本草在线中文字幕| 国产偷国产偷亚洲高清人白洁| 日韩欧美国产1| 欧美久久一区二区| 欧美特级限制片免费在线观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美一二三在线| 在线观看日韩一区| 色狠狠色噜噜噜综合网| 成人福利视频在线| 国产一区二区毛片| 国产美女在线观看一区| 免费人成网站在线观看欧美高清| 亚洲一区二区中文在线| 亚洲综合一区二区精品导航| 国产精品成人午夜| 国产精品免费视频网站| 中文字幕不卡三区| 国产精品乱子久久久久| 欧美国产日本韩| 国产欧美日韩亚州综合|