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

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

?? metrixdlg.cpp

?? 該軟件和代碼實(shí)現(xiàn)的功能是對(duì)圖象的加密和解密,運(yùn)行環(huán)境是Xp+matlab,代碼中有說(shuō)明,很容易看明白.
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
// MetrixDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Metrix.h"
#include "MetrixDlg.h"
#include "KeyDlg.h"
#include "iostream.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CString G_strPass;
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMetrixDlg dialog

CMetrixDlg::CMetrixDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMetrixDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMetrixDlg)
    
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CMetrixDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMetrixDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMetrixDlg, CDialog)
	//{{AFX_MSG_MAP(CMetrixDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON_OPEN, OnButtonOpen)
	ON_WM_DESTROY()
	ON_BN_CLICKED(IDC_SHOW_OLD, OnShowOld)
	ON_BN_CLICKED(IDC_OPEN_IMG, OnOpenImg)
	ON_BN_CLICKED(IDC_OLD_ZHIFANG, OnOldZhifang)
	ON_BN_CLICKED(IDC_SHOW_NEW, OnShowNew)
	ON_BN_CLICKED(IDC_NEW_ZHIFANG, OnNewZhifang)
	ON_BN_CLICKED(IDC_COMPARE, OnCompare)
	ON_BN_CLICKED(IDC_JM_OPEN, OnJmOpen)
	ON_BN_CLICKED(IDC_JM_COMPARE, OnJmCompare)
	ON_BN_CLICKED(IDC_JM_OLD, OnJmOld)
	ON_BN_CLICKED(IDC_JM_ZHIFANG, OnJmZhifang)
	ON_BN_CLICKED(IDC_JMH_NEW, OnJmhNew)
	ON_BN_CLICKED(IDC_JMH_ZHIFANG, OnJmhZhifang)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMetrixDlg message handlers

BOOL CMetrixDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	/////////////////////////

	/////////////////////////////////////////
	if(!(ep=engOpen(NULL)))
	{
		AfxMessageBox("Can't start MATLAB engine");
		return 0;
	}
	else 
        AfxMessageBox("start MATLAB engine");
return TRUE;  // return TRUE  unless you set the focus to a control
}

void CMetrixDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CMetrixDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CMetrixDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CMetrixDlg::OnButtonOpen() 
{
	// TODO: Add your control notification handler code here
    
	TCHAR pszBuffer[_MAX_PATH];
	BROWSEINFO bi; 	
    LPITEMIDLIST pidl;
	bi.hwndOwner = NULL;
	bi.pidlRoot = NULL;
	bi.pszDisplayName = pszBuffer;
	bi.lpszTitle = _T("數(shù)據(jù)文件存放路徑");
	bi.ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS;
	bi.lpfn = NULL;
	bi.lParam = 0;
	if((pidl = SHBrowseForFolder(&bi)) != NULL)
	{
		if(SHGetPathFromIDList(pidl, pszBuffer))
		{
			CString strTemp(pszBuffer);   mat_Path = strTemp;
			if (mat_Path.GetLength() <= 1) 
			{
			}
			else if (mat_Path.Right(1) != _T("\\")) 	
				mat_Path += _T("\\");
		}
	}
	GetDlgItem(IDC_STATIC_PATH)->SetWindowText(mat_Path);
   // AfxMessageBox(mat_Path);
    if(mat_Path=="")
       AfxMessageBox("please choose the path to save mat file");

		
	    
	
/*	CFileDialog  Dlg(TRUE,_T("*.mat"), "",NULL,
    "Data Files(*.mat)|*.mat*|All Files (*.*)|*.*||");
	*/
}



void CMetrixDlg::OnDestroy() 
{
	CDialog::OnDestroy();
	AfxMessageBox("cloase MATLAB engine");
    engClose(ep);
// TODO: Add your message handler 
}



void CMetrixDlg::OnShowOld() 
{
	// TODO: Add your control notification handler code here
   //  CString str_tem;
   //img_length=img_path_name.GetLength();
   //////////////////////////////////////////
   //str_tem=path;//字符串c格式和string之間轉(zhuǎn)化path[]
   //////////////////////////////////////////////////
   // AfxMessageBox(img_path_name);
    if(img_path_name=="")
	{  
		AfxMessageBox("please choose tif file");
	    return;
	   }
	else if(mat_Path=="")
	{
		AfxMessageBox("please choose path to save mat file");
	    return;
	   }
	if(flag_run!=1)
		 return;
    A_mx=mxCreateString(img_path_name);
	B_mx=mxCreateString(mat_Path_Name);
   //AfxMessageBox("hahhahh11111111");
	engPutVariable(ep,"IMG_PATH_NAME",A_mx);
    engPutVariable(ep,"MAT_PATH_NAME",B_mx);
    engEvalString(ep,"OLDM=imread(IMG_PATH_NAME);");
    engEvalString(ep,"imshow(OLDM);");
    engEvalString(ep,"save(MAT_PATH_NAME);");
   //AfxMessageBox("haha2222222222");
	mxDestroyArray(A_mx);
    mxDestroyArray(B_mx);
    flag_run++;

}

void CMetrixDlg::OnOpenImg() 
{
	// TODO: Add your control notification handler code here
	CString str_tem;
	flag_run=0;
	CFileDialog img_Dlg(TRUE,_T("*.tif"), "",NULL,
    "Data Files(*.tif)|*.tif*|All Files (*.*)|*.*||");
	AfxMessageBox("請(qǐng)選擇一個(gè)像素不超過500*500的tif文件");
	img_Dlg.DoModal();
	////
	img_path_name=img_Dlg.GetPathName();
	img_filename=img_Dlg.GetFileName();
    img_file_extern=img_Dlg.GetFileExt();
	
	if(mat_Path=="")
	{  
	   AfxMessageBox("please choose path to save mat file");
	   return;
	   }
	
    if(img_path_name=="")
	{ AfxMessageBox("please open file again");
	  return;
	  }
     else if(img_file_extern!="tif")
   {
	  AfxMessageBox("this file name is not *.tif file");
	  return;
   }
	
	CString str_yy="new";
	str_yy+=img_filename;
	
    img_save_path=mat_Path+str_yy;
	AfxMessageBox(img_save_path);
    mat_Path_Name=mat_Path+"data.mat";
	
	AfxMessageBox(mat_Path_Name);
	mfp=matOpen(mat_Path_Name,"w");
    if(mfp==NULL)
	   { AfxMessageBox("Create MAT File ERROR"); 
	    return;
		}
	flag_run++;
    
}

void CMetrixDlg::OnOldZhifang() 
{
	// TODO: Add your control notification handler code her
	if(img_path_name=="")
	{  
		AfxMessageBox("please choose tif file");
	    return;
	   }
	else if(mat_Path=="")
	{
		AfxMessageBox("please choose path to save mat file");
	    return;
	   }
	if(flag_run!=2)
		return;
	else
	engEvalString(ep,"imhist(OLDM);");
	flag_run++;
}

void CMetrixDlg::OnShowNew() 
{
	// TODO: Add your control notification handler code here
    unsigned char *A_ch,*B_ch;
	int dims[2]={0};
    long int key;
	CString str_tem;
	if(img_path_name=="")
	{ AfxMessageBox("please choose tif file");
	   return;
	   }
	if(mat_Path=="")
	{  
	   AfxMessageBox("please choose path to save mat file");
	   return;
	   }
	CKeyDlg m_KeyDlg;
     if(m_KeyDlg.DoModal()!=IDOK)
		return;
  //  AfxMessageBox(G_strPass);
    key=StringTOInt(G_strPass);
	str_tem.Format("the key is %d",key);
    AfxMessageBox(str_tem);
	if(flag_run!=3)
	     return;
	if(mfp!=NULL)
		matClose(mfp);
	mfp=matOpen(mat_Path_Name,"u");
	if(mfp==NULL)
	{AfxMessageBox("open mat file error\n");
	   return;
	   }
    A_ptr=matGetArray(mfp,"OLDM");
    M=mxGetM(A_ptr);
	N=mxGetN(A_ptr);
	A_ch=( unsigned char*)mxGetPr(A_ptr);
	//B_ch=( unsigned char*)mxGetPi(A_ptr);
	if(mxIsComplex(A_ptr))
         AfxMessageBox("this is complex\n");
//////////計(jì)算原來(lái)圖像的平均相鄰灰度差//////////////////////
EGD=0.0;
EGD=JM_EGD_Computer(A_ch,M,N);
/////////////////////////置亂矩陣
if(!JM_EGD_Matrix(A_ch,M,N,key))
   AfxMessageBox("Error in EGD the Matrix,this is bab Error");
//	for(i=0;i<M;i++)
	///	 for(j=0;j<N;j++)
		//	A_ch[i+j*M]^=(key+i*j)%256;
     dims[0]=M;
	 dims[1]=N;
     B_ptr=mxCreateNumericArray(2,dims,mxUINT8_CLASS,mxREAL);
     mxSetName(B_ptr,"NEWM");
	 B_ch=(unsigned char*)mxGetPr(B_ptr);
	 //
	 for(i=0;i<M;i++)
           for(j=0;j<N;j++)
		     B_ch[i+j*M]=A_ch[i+j*M];
    //
EGD_NEW=0.0;
EGD_NEW=JM_EGD_Computer(B_ch,M,N);
/////////////////////////////將新的矩陣存到mat文件中
	matPutArray(mfp,B_ptr);
    AfxMessageBox("新的矩陣數(shù)據(jù)存入文件");
///////////////////////////這里很重要,打開的文件要先關(guān)閉,不然沒有辦法用
if(mfp!=NULL)
	   matClose(mfp);
///////////////////////////函數(shù)LOAD打開文件并且導(dǎo)出變量:--)^_^..
    
//顯示置亂后的圖像
//	AfxMessageBox("yyyyy11111111");
	C_mx=mxCreateString(mat_Path);
    D_mx=mxCreateString(img_save_path);
	engPutVariable(ep,"MAT_PATH",C_mx);
	engPutVariable(ep,"IMG_SAVE_PATH",D_mx);
    engEvalString(ep,"addpath(MAT_PATH);");
    engEvalString(ep,"load data;");
    engEvalString(ep,"imshow(NEWM);");
	engEvalString(ep,"imwrite(NEWM,IMG_SAVE_PATH);");
//	engOutputBuffer(ep,buffer,300);
//	engEvalString(ep,"whos");
//	MessageBox((LPSTR)buffer,(LPSTR)"MATLAB-whos",MB_OK);
 // AfxMessageBox("yyyy222222222");
	
    mxDestroyArray(A_ptr);
	mxDestroyArray(B_ptr);
	mxDestroyArray(C_mx);
    mxDestroyArray(D_mx);
	flag_run++;
}

int CMetrixDlg::Josephus( unsigned int a[],int length, int start, int no)
{
     
	 int i,j;
     struct node *first,*Ahead,*pro,*pnew,*pcurrt,*pp,*pdel; 
	 first=new  node;
	 first->num=a[0];
	 Ahead=first;
     for(i=1;i<length;i++)            //指針first首先指向頭結(jié)點(diǎn)(有數(shù)據(jù)),并且往后移動(dòng)
	 {                                //構(gòu)造一個(gè)循環(huán)單向鏈表
		  pnew=new node;
		  pnew->num=a[i];
		  first->next=pnew;
		  first=pnew;
	  }
      pnew->next=Ahead;
      pcurrt=Ahead;
	 /* cout<<"原來(lái)序列是"<<endl;
      do
	  {
		  cout<<pcurrt->num<<"---";
		  pcurrt=pcurrt->next;
	  }
	 while(pcurrt!=Ahead); 
	 */
	 pp=Ahead;                 //移動(dòng)指針到start的位置
     for(i=0;i<start-1;i++)     //移動(dòng)start-1個(gè)位
	 {
		 pp=pp->next;
	 }
	//  cout<<start<<"的位置數(shù)據(jù)是"<<pp->num<<endl;
	 j=0;
	 pcurrt=pp;
     while(j<length)
	 {
		 for(i=0;i<no-1;i++)
		 {   pro=pcurrt;
			 pcurrt=pcurrt->next;
		 }
		  pro->next=pcurrt->next;
		  a[j]=pcurrt->num;

		//  cout<<"pro所指結(jié)點(diǎn)的數(shù)據(jù)是"<<pro->num<<endl;
		  pdel=pcurrt;
	      pcurrt=pcurrt->next;//刪除結(jié)點(diǎn)
          j++;
	      delete pdel;  //釋放內(nèi)存
	 }
     
return 1;
}

void CMetrixDlg::OnNewZhifang() 
{
	// TODO: Add your control notification handler code here
	if(img_path_name=="")
	{  
		AfxMessageBox("please choose tif file");
	    return;
	   }
	else if(mat_Path=="")
	{
		AfxMessageBox("please choose path to save mat file");
	    return;
	   }
	if(flag_run!=4)
		return;
	else
	engEvalString(ep,"imhist(NEWM);");
    engEvalString(ep,"clear;");
	flag_run++;
}

void CMetrixDlg::OnCompare() 
{
	// TODO: Add your control notification handler code here
	CString str_old,str_new;
	if(img_path_name=="")
	{  
		AfxMessageBox("please choose tif file");
	    return;
	   }
	else if(mat_Path=="")
	{
		AfxMessageBox("please choose path to save mat file");
	    return;
	   }
	if(flag_run!=5)
		return;

	str_old.Format("原來(lái)圖像的平均相鄰置亂度差為%f--運(yùn)行標(biāo)記是%d\n",EGD,flag_run);
    str_new.Format("新的圖像的平均相鄰置亂度差為%f\n",EGD_NEW);
    str_old+=str_new;
    AfxMessageBox(str_old);
	
   flag_run++;
	
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色8久久人人97超碰香蕉987| 国产免费观看久久| 在线视频一区二区免费| jvid福利写真一区二区三区| 成人国产精品免费| 成人av第一页| 91麻豆精东视频| 一本大道久久a久久综合| 99在线热播精品免费| 91美女福利视频| 欧美性受极品xxxx喷水| 精品视频在线免费观看| 欧美日韩亚洲高清一区二区| 欧美嫩在线观看| 91精品欧美福利在线观看| 欧美一个色资源| 精品久久久久久久人人人人传媒| 精品女同一区二区| 国产欧美一区二区精品仙草咪| 国产精品免费av| 亚洲色图视频网| 亚洲bdsm女犯bdsm网站| 视频一区视频二区在线观看| 麻豆91在线播放| 国产白丝精品91爽爽久久| 99re在线视频这里只有精品| 在线观看亚洲精品| 日韩一卡二卡三卡国产欧美| 久久先锋影音av鲁色资源网| 国产精品视频一二三| 亚洲另类在线一区| 日本不卡中文字幕| 国产成人8x视频一区二区| 色播五月激情综合网| 欧美日韩一区二区三区四区五区| 欧美一级精品在线| 国产精品无码永久免费888| 亚洲主播在线观看| 老司机免费视频一区二区 | 成人a级免费电影| 色狠狠色狠狠综合| 亚洲精品在线免费播放| 中文字幕在线观看不卡| 午夜国产精品一区| 高清成人免费视频| 欧美日韩三级一区二区| 国产亚洲va综合人人澡精品 | 91色婷婷久久久久合中文| 欧美日韩精品一区二区三区| 久久久综合激的五月天| 亚洲一区中文日韩| 国产精品小仙女| 欧美日韩国产免费一区二区| 国产欧美日韩激情| 日韩电影在线看| 成人aa视频在线观看| 欧美酷刑日本凌虐凌虐| 国产精品色噜噜| 毛片不卡一区二区| 欧美亚洲国产一区二区三区va| 久久久综合视频| 婷婷开心久久网| 99久久777色| 精品国产91九色蝌蚪| 亚洲va国产va欧美va观看| 懂色av一区二区在线播放| 91精品国产综合久久小美女| 亚洲天堂网中文字| 国产美女主播视频一区| 欧美一区二区在线视频| 亚洲卡通欧美制服中文| 国产ts人妖一区二区| 日韩欧美成人激情| 午夜国产不卡在线观看视频| 91蝌蚪porny| 国产女人aaa级久久久级| 久久电影网站中文字幕| 欧美日韩美女一区二区| 国产精品私人影院| 国产高清不卡二三区| 日韩欧美国产电影| 亚洲国产精品久久艾草纯爱| 91色婷婷久久久久合中文| 国产精品入口麻豆原神| 国产制服丝袜一区| 精品人在线二区三区| 免费成人小视频| 欧美日韩免费视频| 亚洲激情五月婷婷| 99视频精品全部免费在线| 国产精品女主播在线观看| 国产精品中文有码| 久久日韩粉嫩一区二区三区| 极品尤物av久久免费看| 日韩欧美中文字幕精品| 三级成人在线视频| 欧美日本韩国一区二区三区视频| 亚洲黄色录像片| 91久久精品一区二区三| 99精品1区2区| 国产欧美va欧美不卡在线| 丰满放荡岳乱妇91ww| 国产精品网站在线播放| 成人av手机在线观看| 国产精品久久久久影院老司| 成人天堂资源www在线| 国产精品毛片大码女人| 成人动漫一区二区| 国产精品不卡在线| 色综合网色综合| 亚洲美女免费在线| 欧美日韩专区在线| 日韩av一区二区在线影视| 欧美一级xxx| 黑人巨大精品欧美一区| 久久精品夜色噜噜亚洲aⅴ| 国产ts人妖一区二区| 中文字幕中文字幕一区| 91香蕉视频mp4| 亚洲国产日韩精品| 91精品国产91久久综合桃花| 久久精品噜噜噜成人av农村| 2023国产精品自拍| 99久久免费精品| 亚洲国产精品久久艾草纯爱| 日韩一区二区精品在线观看| 韩国一区二区视频| 日本一区二区免费在线| www.亚洲精品| 亚洲成人福利片| 精品欧美久久久| www.亚洲精品| 日本午夜一本久久久综合| 久久综合色婷婷| 91在线一区二区三区| 午夜精品一区二区三区免费视频| 日韩视频在线一区二区| 成人免费视频caoporn| 亚洲大片一区二区三区| 精品国内二区三区| 91亚洲永久精品| 免费观看一级特黄欧美大片| 国产亚洲综合av| 一本一道久久a久久精品| 日韩成人伦理电影在线观看| 国产欧美日韩麻豆91| 欧美日韩情趣电影| 成人午夜视频福利| 午夜亚洲福利老司机| 国产日产精品一区| 欧美揉bbbbb揉bbbbb| 国产成人自拍高清视频在线免费播放| 亚洲欧美日韩人成在线播放| 日韩欧美一区在线观看| 91小视频在线| 国模套图日韩精品一区二区| 一级精品视频在线观看宜春院| 日韩欧美卡一卡二| 色香蕉久久蜜桃| 国产一区二区三区免费观看| 一区二区三区久久| 精品精品欲导航| 欧美在线观看一区| 国产二区国产一区在线观看| 亚洲成av人在线观看| 国产欧美一区二区在线观看| 91麻豆精品国产| 在线中文字幕一区二区| 高清不卡在线观看av| 日本v片在线高清不卡在线观看| 专区另类欧美日韩| 久久综合国产精品| 欧美日韩国产区一| 日本精品一区二区三区高清| 东方欧美亚洲色图在线| 日本在线不卡一区| 一区二区三区av电影| 国产精品乱人伦| 2023国产精华国产精品| 制服丝袜亚洲精品中文字幕| 91蜜桃在线观看| 成人av综合在线| 国产**成人网毛片九色| 激情图区综合网| 日韩av一区二区在线影视| 亚洲尤物视频在线| 亚洲精品高清在线观看| 亚洲欧洲一区二区在线播放| 日本一区免费视频| 久久久精品tv| 2023国产精品| 26uuu亚洲| 精品国产伦一区二区三区观看方式| 欧美日韩精品系列| 欧美亚洲日本国产| 在线欧美日韩国产| 在线免费av一区| 91成人网在线| 欧美日韩中文另类| 欧美精品久久久久久久多人混战|