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

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

?? iprocessc.cpp

?? 這是VC++ 2003.net圖像處理的光盤源程序!!!非常好的
?? CPP
字號:
//   IProcessC.cpp

#include "stdafx.h"
     
#ifndef		_INC_IPROCESSCC
#define		_INC_IPROCESSCC

void ColorToGray(CImage *pImgn,CImage *pImgm) 
{
 	int			i, x, y;
	int			gray[256];
	BYTE		*cbuf,*gbuf;
	RGBQUAD		ColorTab[256];
 	CImage		gpImg;
 	CString		str1;
 	struct		IMAGEPARAMENT P;

	GetImageParament(pImgm,&P);             
	if (P.nBitCount<8) return;
 
 	gpImg.Create(P.nWidth,P.nHeight,8,0);   
	for (i=0; i<256; i++)
	{
		ColorTab[i].rgbBlue = ColorTab[i].rgbGreen = 
			                  ColorTab[i].rgbRed   = i;
	}
	gpImg.SetColorTable(0,256,ColorTab);    

	if (pImgm->GetBPP()<=8) {               
 		pImgm->GetColorTable(0,P.nNumColors,ColorTab);
		for (i=0; i<P.nNumColors; i++)
		{
			gray[i] = (int) (0.11*ColorTab[i].rgbBlue + 
				     0.59*ColorTab[i].rgbGreen + 0.30*ColorTab[i].rgbRed);
		}
		for (y=0; y<P.nHeight; y++) {
			cbuf = (BYTE*) pImgm->GetPixelAddress(0,y); 
			gbuf = (BYTE*) gpImg.GetPixelAddress(0,y);
			for (x=0; x<P.nWidth; x++) 
				gbuf[x] = (BYTE) gray[cbuf[x]];         
 		}
	} 
	else {   
		for (y=0; y<P.nHeight; y++) {
			cbuf = (BYTE*) pImgm->GetPixelAddress(0,y); 
			gbuf = (BYTE*) gpImg.GetPixelAddress(0,y);
			for (x=0,i=0; x<P.nWidth; x++,i+=P.nBytesPerPixel) {
				gbuf[x] = (BYTE) (0.11*cbuf[i] + 0.59*cbuf[i+1] + 0.30*cbuf[i+2]);
			}
		}
	}

 	ImageCopy(pImgn,&gpImg);
 	gpImg.Destroy();
}

void ImageInvert(CImage *pImgm)   
{
	int		i,y,k,m;
	BYTE	*buf;
 	RGBQUAD ColorTab[256];
 	struct	IMAGEPARAMENT P;

	GetImageParament(pImgm,&P);  
	k=ImageType(pImgm);
	if (k%2==0) {     
		if (k==0) m=1;
		else m=255;
		for (y=0; y<P.nHeight; y++) {
			buf = (BYTE*) pImgm->GetPixelAddress(0,y); 
			for (i=0; i<P.nBytesPerLine; i++) buf[i] = m - buf[i];
		}
	} 
	else {   
 		pImgm->GetColorTable(0,P.nNumColors,ColorTab);
		for (i=0; i<P.nNumColors; i++)
		{
			ColorTab[i].rgbBlue  = 255 - ColorTab[i].rgbBlue;
			ColorTab[i].rgbGreen = 255 - ColorTab[i].rgbGreen;
			ColorTab[i].rgbRed   = 255 - ColorTab[i].rgbRed;
		}
		pImgm->SetColorTable(0,P.nNumColors,ColorTab);
 	}
}

void ColorToMonochrom(CImage *pImgm)  
{
 	int		i,m,x,y,gray;
	BYTE	*buf;
 	RGBQUAD ColorTab[256];
 	struct	IMAGEPARAMENT P;

	GetImageParament(pImgm,&P);   
	if (pImgm->GetBPP()>8) {
		for (y=0; y<P.nHeight; y++) {
			buf = (BYTE*) pImgm->GetPixelAddress(0,y);
			for (x=0,i=0; x<P.nWidth; x++,i+=P.nBytesPerPixel) { 
				m=(int)(0.11*buf[i]+0.59*buf[i+1]+0.30*buf[i+2]);
 				buf[i] = buf[i+1] = buf[i+2] = m;
			}  
		}
	} 
	else {
 		pImgm->GetColorTable(0,P.nNumColors,ColorTab);
		for (i=0; i<P.nNumColors; i++)
		{
			gray = (int) (0.11*ColorTab[i].rgbBlue + 0.59*ColorTab[i].rgbGreen + 
				         0.30*ColorTab[i].rgbRed);
			ColorTab[i].rgbBlue = (BYTE)gray;
			ColorTab[i].rgbGreen = (BYTE)gray;
			ColorTab[i].rgbRed = (BYTE)gray; 
		}
		pImgm->SetColorTable(0,P.nNumColors,ColorTab);
 	}
}

void LowTypeToIndex(CImage *pImgn,CImage *pImgm)  
{                                 
	int			i,k,t,y,nBytesPerLine;
	RGBQUAD		ColorTab[256];
	CImage		gpImg;
 	BYTE		*cbuf,*gbuf;
 	struct		IMAGEPARAMENT P;
 
 	GetImageParament(pImgm,&P);              
	if (P.nBitCount>4) return;

 	gpImg.Create(P.nWidth,P.nHeight,8,0);      
    memset(ColorTab,0,1024);                    
 	pImgm->GetColorTable(0,P.nNumColors,ColorTab);  
	gpImg.SetColorTable(0,256,ColorTab);          

	nBytesPerLine = (P.nWidth*P.nBitCount+7)/8;
  	if (P.nBitCount==1)                               
	{
		for (y=0;y<P.nHeight;y++) 
		{
			cbuf = (BYTE*) pImgm->GetPixelAddress(0,y);    
			gbuf = (BYTE*) gpImg.GetPixelAddress(0,y);
			for (i=0;i<nBytesPerLine;i++) 
			{
				for (k=0,t=0x80;k<8;k++)         
				{
					if (cbuf[i]&t)
						gbuf[8*i+k]=1;
					else
						gbuf[8*i+k]=0;
					t = t>>1;
				}
			}
  		}
	} 
	else if (P.nBitCount==4)                          
	{
		for (y=0; y<P.nHeight; y++) 
		{
			cbuf = (BYTE*) pImgm->GetPixelAddress(0,y);    
			gbuf = (BYTE*) gpImg.GetPixelAddress(0,y);
			for (i=0; i<nBytesPerLine; i++) 
			{
				gbuf[2*i+1]= cbuf[i] & 0xf;      
				gbuf[2*i]  = cbuf[i]>>4;
			}
		}
	}
	if (pImgm==pImgn)                                    
 		ImageCopy(pImgm,&gpImg);
 	else                                        
 		ImageCopy(pImgn,&gpImg);
 	gpImg.Destroy();
}

void IndexToLowType(CImage *pImgn,CImage *pImgm)
{
 	struct	IMAGEPARAMENT P,Pg;
 	RGBQUAD ColorTab[256];
	CImage	gImg,*pImg;
	int		i,k,n,s,t,y;
 	BYTE	*cbuf,*gbuf;
 
	if (pImgm==pImgn) pImg=&gImg;
	else              pImg=pImgn;
 	GetImageParament(pImgm,&P);
 	if (ImageType(pImgm)==0) {
		pImg->Create(P.nWidth,P.nHeight,1,0);
		GetAllPalette(pImgm,ColorTab);
		SetPalette(pImg,0,ColorTab[0].rgbRed,
			ColorTab[0].rgbGreen,ColorTab[0].rgbBlue);
		SetPalette(pImg,1,ColorTab[1].rgbRed,
			ColorTab[1].rgbGreen,ColorTab[1].rgbBlue);
  		GetImageParament(pImg,&Pg);
 		for (y=0;y<P.nHeight;y++) {
			cbuf = (BYTE*) pImgm->GetPixelAddress(0,y);
			gbuf = (BYTE*) pImg->GetPixelAddress(0,y);
			memset(gbuf,0,Pg.nBytesPerLine);
			for (i=0,k=0;i<P.nWidth;i+=8) {
				for (n=0,t=0,s=0x80;n<8;n++) {
					if (cbuf[i+n]==1) t |= s;
					s = s  >> 1;
				}
				gbuf[k++]=t;
			}
		}
	}
	else if (ImageType(pImgm)==1) {
		pImg->Create(P.nWidth,P.nHeight,4,0);
		GetAllPalette(pImgm,ColorTab);
		SetAllPalette(pImg,ColorTab);
 		for (y=0;y<P.nHeight;y++) {
			cbuf = (BYTE*) pImgm->GetPixelAddress(0,y);
			gbuf = (BYTE*) pImg->GetPixelAddress(0,y);
 			for (i=0,k=0;i<P.nWidth;i+=2,k++) {
				gbuf[k]=(cbuf[i]<<4)+(cbuf[i+1]&0x0f);  
			}
		}
	}
	if (pImgm==pImgn) {   
 		ImageCopy(pImgm,pImg);
  		pImg->Destroy();
	}
}

void Flip(CImage *pImgm,int n)         
{
	int		i,j,k,m;
	DWORD	dd;
	BYTE	*buff1,*buff2;
 	struct	IMAGEPARAMENT P;

  	GetImageParament(pImgm,&P);              
 
 	buff1=(BYTE*) malloc(P.nBytesPerLine);
	buff2=(BYTE*) malloc(P.nBytesPerLine);
	if ((n&0x1)==1) {
		m=(P.nWidth-1)*P.nBytesPerPixel;
		for (i=0;i<P.nHeight;i++) {
			GetRectValue(pImgm,0,i,P.nWidth,1,buff1);
			for (j=0,k=0;j<P.nWidth/2;j++,k+=P.nBytesPerPixel) {  
 				memcpy(&dd,&buff1[k],P.nBytesPerPixel);
				memcpy(&buff1[k],&buff1[m-k],P.nBytesPerPixel);
				memcpy(&buff1[m-k],&dd,P.nBytesPerPixel);
			}
 			SetRectValue(pImgm,0,i,P.nWidth,1,buff1);
		}
	}

	if ((n&0x2)==2) {
		for (i=0;i<P.nHeight/2;i++) {
			GetRectValue(pImgm,0,i    ,P.nWidth,1,buff1);     
			GetRectValue(pImgm,0,P.nHeight-1-i,P.nWidth,1,buff2);
			SetRectValue(pImgm,0,i    ,P.nWidth,1,buff2);
			SetRectValue(pImgm,0,P.nHeight-1-i,P.nWidth,1,buff1);
		}
	}
	free(buff1);
	free(buff2);
}

void Rotate90(CImage *pImgn,CImage *pImgm,int n)      
{
  	int			i,j,k,m;
	RGBQUAD		ColorTab[256];
	DWORD		dd;
	BYTE		*buff;
 	struct		IMAGEPARAMENT P;

	GetImageParament(pImgm,&P);              
	pImgn->Destroy();
	pImgn->Create(P.nHeight,P.nWidth,P.nBitCount,0);        

 	buff=(BYTE*) malloc(P.nBytesPerLine);
 	m=(P.nWidth-1)*P.nBytesPerPixel;
	for (i=0;i<P.nHeight;i++) {
		GetRectValue(pImgm,0,i,P.nWidth,1,buff);    
		if (n==1)
			SetRectValue(pImgn,P.nHeight-1-i,0,1,P.nWidth,buff);   
		                                         
		else
		{
			for (j=0,k=0;j<P.nWidth/2;j++,k+=P.nBytesPerPixel) {
				memcpy(&dd,&buff[k],P.nBytesPerPixel);      
				memcpy(&buff[k],&buff[m-k],P.nBytesPerPixel);
				memcpy(&buff[m-k],&dd,P.nBytesPerPixel);
			}
			SetRectValue(pImgn,i,0,1,P.nWidth,buff);  
		}
	}
	free(buff);
 	if (P.nNumColors>0)
	{
		pImgm->GetColorTable(0,P.nNumColors,ColorTab);         
		pImgn->SetColorTable(0,P.nNumColors,ColorTab);
	}
}

void ImageMasaic(CImage *pImgm,int n)
{
  	struct	IMAGEPARAMENT P;
	int     Dx,Dy,i,j,s,t;
	BYTE	*buf,*buf1;
 
	GetImageParament(pImgm,&P);              
	Dx=P.nWidth/n*n;
	Dy=P.nHeight/n*n;
 	for (j=0;j<Dy;j+=n)          
	{
		buf=(BYTE*) pImgm->GetPixelAddress(0,j); 
		for (i=0;i<Dx;i+=n)
		{
			for (s=1;s<n;s++)		
				memcpy(&buf[(i+s)*P.nBytesPerPixel],&buf[i*P.nBytesPerPixel],P.nBytesPerPixel);   
		}
		for (t=1;t<n;t++) {                             
			buf1=(BYTE*) pImgm->GetPixelAddress(0,j+t);
			memcpy(buf1,buf,P.nBytesPerLine);
		}
 	}
}

void ZoomIn(CImage *pImgn,CImage *pImgm,int n)   
{
 	int		i, j, k;
	RGBQUAD	ColorTab[256];
	BYTE	*buf,*buf0,*buf1;
  	struct	IMAGEPARAMENT P;
 
	GetImageParament(pImgm,&P);              
 	pImgn->Destroy();
	pImgn->Create(P.nWidth*n,P.nHeight*n,P.nBitCount,0);      

 	if (P.nNumColors>0)
	{
		pImgm->GetColorTable(0,P.nNumColors,ColorTab);    
		pImgn->SetColorTable(0,P.nNumColors,ColorTab);    
	}

  	for (i=0;i<P.nHeight;i++) {
		buf0 = (BYTE*) pImgm->GetPixelAddress(0,i);    
		buf  = (BYTE*) pImgn->GetPixelAddress(0,i*n);
		for (j=0;j<P.nWidth;j++,buf0+=P.nBytesPerPixel)
		{
			for (k=0;k<n;k++,buf+=P.nBytesPerPixel)
    			memcpy(buf,buf0,P.nBytesPerPixel);          
  		}
	}

	GetImageParament(pImgn,&P);              
  	for (i=0;i<P.nHeight;i+=n) 
	{
		buf  = (BYTE*) pImgn->GetPixelAddress(0,i);
		for (j=1;j<n;j++) {
 			buf1=(BYTE*) pImgn->GetPixelAddress(0,i+j);
			memcpy(buf1,buf,P.nBytesPerLine);
		}
   	}
}

void ZoomOut(CImage *pImgn,CImage *pImgm,int n) 
{  
	int			i, j;
	RGBQUAD		ColorTab[256];
	BYTE		*buf,*buf0;
 	struct		IMAGEPARAMENT P;

	GetImageParament(pImgm,&P);              
 	pImgn->Destroy();
	pImgn->Create(P.nWidth/n,P.nHeight/n,P.nBitCount,0);     
 
 	if (P.nNumColors>0)
	{
		pImgm->GetColorTable(0,P.nNumColors,ColorTab);
		pImgn->SetColorTable(0,P.nNumColors,ColorTab);
	}
  
 	for (i=0;i<P.nHeight/n;i++) {
		buf0 = (BYTE*) pImgm->GetPixelAddress(0,i*n);
		buf  = (BYTE*) pImgn->GetPixelAddress(0,i);
		for (j=0;j<P.nWidth/n;j++)
		{
 			memcpy(buf, buf0, P.nBytesPerPixel);
			buf+=P.nBytesPerPixel;
			buf0+=n*P.nBytesPerPixel;
  		}
 	}
}

void ImageRotate(CImage *pImgn,CImage *pImgm,double alpha)
{  
 	struct	IMAGEPARAMENT P;
	int     i,j,ww,Xd,Yd,Dx,Dy;
	double  centerx,centery,sintheta,costheta;
	double  X1,Y1,X2,Y2,theta,xx,yy,rr;
	RGBQUAD ColorTab[256];
	BYTE    **list,*sc;
 	int		x1,y1,x2,y2,flag;
	double	p,q,a,b,c,d,t1,t2,t3;
 
	if (ImageType(pImgm)==2) flag=1;
	else  flag=0;
   	GetImageParament(pImgm,&P);              
 
	Dx=P.nWidth;		Dy=P.nHeight;
	sc=(BYTE*) malloc(2*P.nBytesPerLine);
	list=(BYTE**)malloc(Dy*sizeof(BYTE*));
	for (i=0;i<Dy;i++)  
		list[i]=(BYTE*) pImgm->GetPixelAddress(0,i);
 
	centerx=Dx/2;    centery=Dy/2;
	rr=sqrt(centerx*centerx+centery*centery);
	theta=atan((double) centery/(double) centerx);
	X1=fabs(rr*cos(alpha+theta))+0.5;
	Y1=fabs(rr*sin(alpha+theta))+0.5;
	X2=fabs(rr*cos(alpha-theta))+0.5;
	Y2=fabs(rr*sin(alpha-theta))+0.5;
	if (X2>X1)  X1=X2;
	if (Y2>Y1)  Y1=Y2;
	ww=(int) (2*X1);
 
	pImgn->Destroy();
	pImgn->Create(ww,(int) (2*Y1),P.nBitCount);

	if (P.nBitCount==8) {
 		GetAllPalette(pImgm,ColorTab);
		SetAllPalette(pImgn,ColorTab);
 	}
	sintheta=sin(alpha);
	costheta=cos(alpha);

	for (j=(int)(centery-Y1),Yd=0;j<=centery+Y1;j++,Yd++) {
		if (P.nBitCount==8)
			memset(sc,0,ww);
		else
			memset(sc,0,ww*P.nBytesPerPixel);
		for (i=(int)(centerx-X1),Xd=0;i<=centerx+X1;i++,Xd+=P.nBytesPerPixel) {
			xx=centerx+costheta*(i-centerx)+sintheta*(j-centery);
			yy=centery-sintheta*(i-centerx)+costheta*(j-centery);
			x1=(int) xx;      
			x2=x1+1;       
			p=xx-x1;
			y1=(int) yy;
			y2=y1+1;       
			q=yy-y1;
			if (((x1<0)||(x2>=P.nWidth)||(y1<0)||(y2>=P.nHeight))) continue;
 			if (flag==0) {     
				if (q>0.5) y1=y2;
				if (p>0.5) x1=x2;
  				memcpy(&sc[Xd],&list[y1][P.nBytesPerPixel*x1],P.nBytesPerPixel);
			}
			else {             
				a=(double) list[y1][x1];	
				b=(double) list[y1][x2];	
				c=(double) list[y2][x1];
				d=(double) list[y2][x2];
				t1=(1-p)*a+p*b;
				t2=(1-p)*c+p*d;
				t3=(1-q)*t1+q*t2;
				sc[Xd]=(BYTE) t3;
			}
 		}
		SetRectValue(pImgn,0,Yd,ww,1,sc);
	}
	free(list);
	free(sc);
}

void ImageScale(CImage *pImgn,CImage *pImgm,double alpha) 
{
 	struct	IMAGEPARAMENT P;
	RGBQUAD ColorTab[256];
	int     i,j,nSize;
    BYTE    **list,*sc;
	int     Dx,Dy,x1,y1,x2,y2,flag;
 	double	p,q,a,b,c,d,t1,t2,t3;
     
 	if (ImageType(pImgm)==2) flag=1;
	else  flag=0;
 	GetImageParament(pImgm,&P);              
    Dx=(int) (alpha*P.nWidth);
	Dy=(int) (alpha*P.nHeight);
 	pImgn->Destroy();
	pImgn->Create(Dx,Dy,P.nBitCount);
 
	if (P.nBytesPerPixel==1) 
	{                                            
 		for (i=0;i<P.nNumColors;i++) 
		{
			GetAllPalette(pImgm,ColorTab);
			SetAllPalette(pImgn,ColorTab);
 		}
	}
 
	nSize=(int)((P.nBytesPerLine+P.nHeight*P.nBytesPerPixel)*alpha);
	sc  =(BYTE*) malloc(nSize);
	list=(BYTE**)malloc(Dy*sizeof(BYTE*));       
	for (i=0;i<P.nHeight;i++) 
		list[i]=(BYTE*) pImgm->GetPixelAddress(0,0)-i*P.nBytesPerLine;     

	for (j=0;j<Dy;j++) 
	{
		q=j/alpha;    
		y1=(int) q;
		y2=y1+1;       
		q=q-y1;
		for (i=0;i<Dx;i++) 
		{
			p=i/alpha;    
			x1=(int) p;                          
			x2=x1+1;       
			p=p-x1;                              
 			if (x2==P.nWidth) x2--;
			if (y2==P.nHeight) y2--;
 			if (flag==0) 
			{                                    
				if (q>0.5) y1=y2;
				if (p>0.5) x1=x2;
 				memcpy(&sc[i*P.nBytesPerPixel],&list[y1][x1*P.nBytesPerPixel],P.nBytesPerPixel);
			}
			else 
			{                                    
				a=(double) list[y1][x1];	
				b=(double) list[y1][x2];	
				c=(double) list[y2][x1];
				d=(double) list[y2][x2];
				t1=(1-p)*a+p*b;
				t2=(1-p)*c+p*d;
				t3=(1-q)*t1+q*t2;
				sc[i]=(BYTE) t3;
			}
  		}
		SetRectValue(pImgn,0,j,Dx,1,sc);     
	}
	free(sc);
	free(list);
}

#endif  //!_INC_IPROCESSCC
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利在线看| 91久久国产综合久久| 中文在线免费一区三区高中清不卡 | 欧美色网一区二区| 99久久国产综合精品女不卡| 狠狠网亚洲精品| 老司机精品视频线观看86| 五月天激情综合网| 午夜视频在线观看一区| 成人黄色小视频在线观看| 久久精品国产秦先生| 婷婷中文字幕一区三区| 亚洲精品亚洲人成人网 | 高清不卡在线观看| 欧美性xxxxxxxx| 制服丝袜av成人在线看| 国产女同互慰高潮91漫画| 国产精品三级视频| 国产一区二区三区av电影 | 91欧美一区二区| 欧美日韩国产一级| 亚洲国产精品t66y| 亚洲综合自拍偷拍| 美女视频第一区二区三区免费观看网站| 国产91综合一区在线观看| 国产成人免费视| 日韩一区二区三| 亚洲一二三四在线| av资源站一区| 2023国产精品自拍| 亚洲国产高清aⅴ视频| 天堂成人国产精品一区| 日韩综合小视频| 国产大陆亚洲精品国产| 欧美福利视频导航| 国产精品国产三级国产| 韩国三级电影一区二区| 91麻豆精品国产91久久久更新时间| 18涩涩午夜精品.www| 五月天亚洲婷婷| 欧美日韩视频在线一区二区| 亚洲日本中文字幕区| 国产成人亚洲精品青草天美| 制服丝袜成人动漫| 麻豆国产精品官网| 欧美成人乱码一区二区三区| 午夜精品久久久久久久| 欧美日韩精品一区二区| 亚洲国产一区视频| 欧美三级日本三级少妇99| 亚洲福利一二三区| 欧美日韩免费不卡视频一区二区三区| 久久免费的精品国产v∧| 国产麻豆欧美日韩一区| 精品国产一区久久| 国产成人午夜电影网| 国产精品久久毛片a| 国产成人8x视频一区二区| 亚洲电影你懂得| 色婷婷综合久久久久中文| 亚洲免费观看在线视频| 色菇凉天天综合网| 亚洲国产精品视频| 日韩一区二区三区在线视频| 视频一区国产视频| 欧美一区二区网站| 久久91精品久久久久久秒播| 久久亚洲二区三区| 国产99久久久国产精品潘金 | 日韩午夜激情视频| 国产原创一区二区三区| 亚洲日本护士毛茸茸| 精品国产自在久精品国产| 国产成人精品午夜视频免费| 亚洲国产高清在线| 99视频精品全部免费在线| 一区二区三区在线视频观看| 欧美日韩三级一区| 国产精品系列在线观看| 一区二区三区在线免费播放| 制服.丝袜.亚洲.另类.中文| 国产乱码精品一区二区三| 18成人在线视频| 欧美日韩国产精品成人| 国产69精品久久久久毛片| 亚洲黄色免费网站| 欧美一级一区二区| www.在线成人| 国产精品99久久久久久似苏梦涵| 亚洲精品中文在线观看| 精品久久久久av影院| 色香色香欲天天天影视综合网| 蜜桃传媒麻豆第一区在线观看| 中文字幕一区二区三区在线不卡| 日韩亚洲欧美在线| 欧美日韩中文字幕一区| 国产成人午夜精品5599 | 狠狠色综合播放一区二区| 亚洲精品国产无天堂网2021| 国产亚洲成av人在线观看导航 | 欧美精品一区二区三区四区| 一本到三区不卡视频| 99精品视频在线观看| 成人精品视频一区二区三区| 国产99久久精品| 成人精品免费看| 成人激情开心网| 成人av片在线观看| gogo大胆日本视频一区| 色综合久久综合中文综合网| 91天堂素人约啪| 欧美亚洲综合久久| 日韩亚洲欧美在线| 欧美一区二区在线视频| 日韩一区国产二区欧美三区| 一道本成人在线| 在线精品国精品国产尤物884a| 在线这里只有精品| 4hu四虎永久在线影院成人| 日韩一卡二卡三卡国产欧美| 日韩精品一区二区三区中文不卡 | 性做久久久久久免费观看欧美| 蜜桃视频一区二区三区| 国产激情一区二区三区桃花岛亚洲| 丁香婷婷综合色啪| 欧美在线观看一二区| 伊人婷婷欧美激情| 亚洲精品免费一二三区| 久久av中文字幕片| 99久精品国产| 日韩视频一区在线观看| 亚洲国产精品99久久久久久久久 | 亚洲国产乱码最新视频 | 国产亚洲va综合人人澡精品 | 99精品视频一区| 精品国产乱码久久久久久老虎 | 日韩国产精品久久| 99免费精品视频| 精品少妇一区二区三区免费观看 | 亚洲色欲色欲www| 国产精品88888| 51精品国自产在线| 亚洲欧美日韩在线播放| 91亚洲国产成人精品一区二三| 久久综合色8888| 狠狠色丁香九九婷婷综合五月| 欧美美女黄视频| youjizz国产精品| 欧美日韩国产欧美日美国产精品| 免费观看成人鲁鲁鲁鲁鲁视频| 成人午夜激情视频| 2021国产精品久久精品| 奇米精品一区二区三区在线观看| 欧美性受xxxx黑人xyx性爽| 国产精品久久久一本精品| 91久久国产最好的精华液| 亚洲日本欧美天堂| 国产成人高清在线| 美女视频第一区二区三区免费观看网站 | 91精品在线麻豆| 国产一区欧美二区| 丝袜诱惑制服诱惑色一区在线观看| 亚洲精品国产第一综合99久久| 久久嫩草精品久久久精品| 日韩午夜精品电影| 国产精品乱子久久久久| 亚洲欧美日韩国产一区二区三区| 亚洲美女屁股眼交| 琪琪久久久久日韩精品| 狂野欧美性猛交blacked| 国产一区二区精品久久91| 成人激情动漫在线观看| 91精品国模一区二区三区| 91麻豆精品国产自产在线| 国产欧美一区二区三区鸳鸯浴 | 亚洲第一会所有码转帖| 激情丁香综合五月| 色综合 综合色| 国产女人aaa级久久久级| 一区二区三区美女视频| 另类的小说在线视频另类成人小视频在线| 日本在线不卡视频一二三区| 一区二区三区加勒比av| 奇米精品一区二区三区四区| 国产一区二区久久| 欧美人动与zoxxxx乱| 国产午夜精品一区二区三区视频 | 精品亚洲免费视频| 国产91丝袜在线播放0| 国产99久久久久久免费看农村| 成人黄色在线视频| 777亚洲妇女| 一片黄亚洲嫩模| 成人av影院在线| 久久一夜天堂av一区二区三区| 亚洲欧美另类综合偷拍| 国产精品911| 欧美成人女星排名| 亚洲成人中文在线| 色综合色综合色综合色综合色综合 |