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

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

?? ch1_1view.cpp

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一二三| 一区二区三区四区乱视频| 久久久久成人黄色影片| 亚洲老妇xxxxxx| 国产福利一区二区三区视频| 欧美亚洲国产一区二区三区va| 久久久久高清精品| 麻豆国产欧美日韩综合精品二区| 95精品视频在线| 国产日韩精品一区二区浪潮av| 日韩精品每日更新| 欧美三级乱人伦电影| 中文字幕视频一区二区三区久| 美女精品一区二区| 日韩一区二区三区视频在线| 一区二区三区视频在线看| 国产精品资源网| 亚洲精品在线观| 久久9热精品视频| 宅男在线国产精品| 亚洲国产毛片aaaaa无费看| 99re在线精品| 亚洲三级免费电影| 9l国产精品久久久久麻豆| 国产午夜精品一区二区三区嫩草| 日韩和欧美一区二区| 制服丝袜亚洲精品中文字幕| 一区二区三区影院| 欧美在线三级电影| 亚洲成av人片在线观看| 精品视频在线看| 亚洲成人动漫在线观看| 欧美性videosxxxxx| 亚洲精品乱码久久久久久久久| 97精品久久久午夜一区二区三区| 日本一二三四高清不卡| 成人av在线影院| 亚洲欧洲精品一区二区精品久久久 | 91网站在线观看视频| 国产日韩欧美一区二区三区乱码| 国产麻豆一精品一av一免费| 久久欧美一区二区| 国产不卡高清在线观看视频| 2021久久国产精品不只是精品| 久久69国产一区二区蜜臀| 久久久综合网站| 波多野洁衣一区| 一区二区三区美女视频| 欧美美女视频在线观看| 男男视频亚洲欧美| 国产欧美一区二区在线| 91在线观看视频| 亚洲va国产天堂va久久en| 精品日产卡一卡二卡麻豆| 成人综合婷婷国产精品久久免费| 中文字幕亚洲综合久久菠萝蜜| 欧美无砖专区一中文字| 久久成人久久爱| 国产蜜臀av在线一区二区三区| av电影在线观看完整版一区二区| 一区二区三区中文在线| 91精品国产91综合久久蜜臀| 国产主播一区二区三区| ㊣最新国产の精品bt伙计久久| 欧美视频一区二区三区四区 | 亚洲综合999| 91精品国产一区二区| 国产suv精品一区二区三区| 1024国产精品| 久久亚洲捆绑美女| 色综合久久88色综合天天6| 老司机午夜精品99久久| 亚洲人成亚洲人成在线观看图片| 日韩一区二区三区在线视频| 国产99久久久久| 性欧美疯狂xxxxbbbb| 国产精品第13页| 日韩欧美国产wwwww| 色视频一区二区| 国产激情一区二区三区| 丝袜脚交一区二区| 亚洲欧美自拍偷拍色图| 久久综合九色综合欧美98| 欧美日韩亚洲另类| 成人av网站在线| 精品在线你懂的| 五月婷婷激情综合| 中文字幕一区二区三区蜜月 | 亚洲色图欧美偷拍| 国产性色一区二区| 日韩欧美二区三区| 555夜色666亚洲国产免| 色偷偷一区二区三区| 国产传媒一区在线| 麻豆91在线观看| 亚洲va欧美va人人爽| 亚洲精品国产精华液| 国产女人水真多18毛片18精品视频| 欧美人狂配大交3d怪物一区| 91色视频在线| 97久久精品人人爽人人爽蜜臀| 国产.欧美.日韩| 国内精品不卡在线| 久草热8精品视频在线观看| 日韩成人一级大片| 亚洲成人精品在线观看| 亚洲国产综合人成综合网站| 1000部国产精品成人观看| 国产精品伦理一区二区| 国产精品人成在线观看免费 | 欧美激情中文不卡| 久久久精品国产99久久精品芒果| 欧美成人福利视频| 欧美一级理论片| 日韩午夜激情免费电影| 欧美一区二区观看视频| 欧美一级黄色大片| 日韩一区二区三区四区五区六区| 日韩欧美在线网站| 欧美r级在线观看| 久久综合视频网| 欧美激情综合在线| 最近日韩中文字幕| 亚洲在线观看免费视频| 亚洲成a人片综合在线| 奇米色一区二区| 激情久久五月天| 成人激情黄色小说| 日本久久一区二区| 在线视频综合导航| 日韩视频免费观看高清完整版| 日韩美女主播在线视频一区二区三区| 精品国精品国产| 国产精品区一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 亚洲黄网站在线观看| 日韩va亚洲va欧美va久久| 免费成人性网站| 国产呦萝稀缺另类资源| 97精品国产97久久久久久久久久久久| 欧美影院精品一区| 欧美大胆人体bbbb| 国产精品美女久久久久久久久久久 | 国产丝袜在线精品| 一区二区三区免费观看| 免费精品视频在线| 99精品国产一区二区三区不卡| 欧美日韩国产在线观看| 久久久久久一级片| 亚洲一区二区三区在线| 国产精品一区在线| 欧美亚洲综合一区| 国产亚洲欧美日韩在线一区| 一区二区成人在线观看| 国产综合一区二区| 欧美三级蜜桃2在线观看| 国产欧美一区二区精品婷婷| 亚洲一区二区三区美女| 成人性生交大片免费看在线播放 | 免费成人美女在线观看.| 成人三级在线视频| 69堂成人精品免费视频| 国产精品热久久久久夜色精品三区| 午夜视频在线观看一区二区 | 国产成人高清视频| 在线观看91精品国产麻豆| 国产欧美一区二区三区鸳鸯浴 | 成人午夜短视频| 欧美日韩精品一区二区三区四区 | 91九色最新地址| 久久久久久夜精品精品免费| 亚洲精品欧美综合四区| 国产精品一区一区| 日韩精品一区二区三区老鸭窝| 亚洲午夜在线视频| 99re热视频这里只精品| 国产午夜一区二区三区| 麻豆精品一区二区av白丝在线| 一本大道综合伊人精品热热 | 久久看人人爽人人| 美女视频第一区二区三区免费观看网站| 色综合激情久久| 中文字幕亚洲精品在线观看| 国产麻豆午夜三级精品| 精品日韩在线一区| 喷水一区二区三区| 欧美精品自拍偷拍| 亚洲亚洲精品在线观看| 91福利视频久久久久| 亚洲少妇30p| av不卡在线观看| 亚洲欧美一区二区在线观看| 国产成人av电影免费在线观看| 精品少妇一区二区三区在线播放| 三级在线观看一区二区| 欧美绝品在线观看成人午夜影视| 一级日本不卡的影视| 色欧美日韩亚洲| 亚洲午夜久久久久中文字幕久| 91碰在线视频|