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

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

?? myimage.cpp

?? 電子監控的網絡編程實例
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
		return IMAGE_ERR_LOCK;
	lpDIBHdr = (LPSTR)(lp+14);
	LPBITMAPINFOHEADER lpbih = (LPBITMAPINFOHEADER)lpDIBHdr;

	lpDIBBits = lpDIBHdr + *(LPDWORD)lpDIBHdr;/* + PaletteSize(lpDIBHdr);*///調色板長度
	// Get the DIB's palette, then select it into DC
	//   Select as background since we have
	//   already realized in forground if needed
/*	設置調色板
	if (m_pPal != NULL)
	{
		pOldPal = SelectPalette(pDC,(HPALETTE )m_pPal->m_hObject,TRUE);
		RealizePalette(pDC);
	}
*/
	// Make sure to use the stretching mode best for color pictures 
	SetStretchBltMode(hDC,COLORONCOLOR);
	// Determine whether to call StretchDIBits() or SetDIBitsToDevice() 
	if (dRect.Width()==sRect.Width()&&dRect.Height()==sRect.Height())
		bSuccess = SetDIBitsToDevice(hDC,dRect.left,dRect.top,
		dRect.Width(),dRect.Height(),sRect.left,
		lpbih->biHeight-sRect.top-sRect.Height(),0,lpbih->biHeight,
 			    lpDIBBits,(LPBITMAPINFO)lpDIBHdr,DIB_RGB_COLORS);
	else 
		bSuccess = ::StretchDIBits(hDC,dRect.left,dRect.top,dRect.Width(),
		dRect.Height(),sRect.left,sRect.top,sRect.Width(),sRect.Height(),
		lpDIBBits,(LPBITMAPINFO)lpDIBHdr,DIB_RGB_COLORS,SRCCOPY);
	
	::GlobalUnlock(hImage);
	// Reselect old palette 
	if (pOldPal != NULL) SelectPalette(hDC,pOldPal, TRUE);
	
	if(bSuccess)
		return IMAGE_OK;
	else return IMAGE_ERR_DRAW;
}


//繪制DDB位圖
BOOL CMyImage::DrawDDB(HBITMAP hBitmap, HDC hDC, CRect sRect, CRect dRect)
{
	HBITMAP holdbitmap=NULL;
	HDC hmemdc=NULL;
	
	//hBitmap = (HBITMAP)::LoadImage(NULL, "d:\\111.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
	
	hmemdc = ::CreateCompatibleDC(hDC);
	holdbitmap = (HBITMAP)::SelectObject(hmemdc, hBitmap);
	BOOL bSuccess = FALSE;

	if (dRect.Width()==sRect.Width()&&dRect.Height()==sRect.Height())
		bSuccess = BitBlt(hDC,dRect.left,dRect.top,
		dRect.Width(),dRect.Height(),hmemdc,sRect.left,sRect.top,SRCCOPY);
	else 
		bSuccess = ::StretchBlt(hDC,dRect.left,dRect.top,dRect.Width(),
		dRect.Height(),hmemdc, sRect.left,sRect.top,sRect.Width(),sRect.Height(),SRCCOPY);
	
	::SelectObject(hmemdc, holdbitmap);
	::DeleteDC(hmemdc);
	
	return bSuccess;
}

//繪制DIB位圖
BOOL CMyImage::DrawDIB(HDIB hDib, HDC hDC, CRect sRect, CRect dRect)
{
	LPSTR    lpDIBHdr=NULL;            // Pointer to BITMAPINFOHEADER
	LPSTR    lpDIBBits=NULL;           // Pointer to DIB bits
	BOOL     bSuccess=FALSE;      // Success/fail flag
	HPALETTE pOldPal=NULL;        // Previous palette
	
	// Check for valid DIB handle 
	if (hDib == NULL) return FALSE;
	// Lock down the DIB, and get a pointer to the beginning of the bit
	//   buffer
	lpDIBHdr  = (LPSTR)::GlobalLock(hDib);
	if(!lpDIBHdr)
		return FALSE;
	LPBITMAPINFOHEADER lpbih = (LPBITMAPINFOHEADER)lpDIBHdr;

	lpDIBBits = lpDIBHdr + *(LPDWORD)lpDIBHdr;/* + PaletteSize(lpDIBHdr);*///調色板長度
	// Get the DIB's palette, then select it into DC
	//   Select as background since we have
	//   already realized in forground if needed
/*	設置調色板
	if (m_pPal != NULL)
	{
		pOldPal = SelectPalette(pDC,(HPALETTE )m_pPal->m_hObject,TRUE);
		RealizePalette(pDC);
	}
*/
	// Make sure to use the stretching mode best for color pictures 
	SetStretchBltMode(hDC,COLORONCOLOR);
	// Determine whether to call StretchDIBits() or SetDIBitsToDevice() 
	if (dRect.Width()==sRect.Width()&&dRect.Height()==sRect.Height())
		bSuccess = SetDIBitsToDevice(hDC,dRect.left,dRect.top,
		dRect.Width(),dRect.Height(),sRect.left,
		lpbih->biHeight-sRect.top-sRect.Height(),0,lpbih->biHeight,
 			    lpDIBBits,(LPBITMAPINFO)lpDIBHdr,DIB_RGB_COLORS);
	else 
		bSuccess = ::StretchDIBits(hDC,dRect.left,dRect.top,dRect.Width(),
		dRect.Height(),sRect.left,sRect.top,sRect.Width(),sRect.Height(),
		lpDIBBits,(LPBITMAPINFO)lpDIBHdr,DIB_RGB_COLORS,SRCCOPY);
	
	::GlobalUnlock(hDib);
	// Reselect old palette 
	if (pOldPal != NULL) SelectPalette(hDC,pOldPal, TRUE);
	
	return bSuccess;
}

/* 
這是一個用來畫透明位圖的函數 
CDC *pDC 需要畫位圖的CDC指針 
UINT IDImage 位圖資源ID 
CRect &rect 指定位圖在pDC中的位置 
COLORREF rgbMask 位圖的透明色 
*/
void CMyImage::DrawTransparentBitmap(CDC *pDC, UINT IDImage, CRect &rect, COLORREF rgbMask)
{
	CDC ImageDC,MaskDC; 
	
	CBitmap Image,*pOldImage; 
	CBitmap maskBitmap,*pOldMaskDCBitmap ; 
	
	Image.LoadBitmap(IDImage); 
	ImageDC.CreateCompatibleDC(pDC); 
	pOldImage=ImageDC.SelectObject(&Image); 
	
	MaskDC.CreateCompatibleDC(pDC); 
	maskBitmap.CreateBitmap( rect.Width(), rect.Height(), 1, 1, NULL ); 
	pOldMaskDCBitmap = MaskDC.SelectObject( &maskBitmap ); 
	
	ImageDC.SetBkColor(rgbMask); 
	MaskDC.BitBlt( 0, 0, rect.Width(), rect.Height(), &ImageDC, 0, 0, SRCCOPY ); 
	
	ImageDC.SetBkColor(RGB(0,0,0)); 
	ImageDC.SetTextColor(RGB(255,255,255)); 
	ImageDC.BitBlt(0, 0, rect.Width(), rect.Height(), &MaskDC, 0, 0, SRCAND); 
	
	pDC->BitBlt(rect.left,rect.top,rect.Width(), rect.Height(), &MaskDC, 0, 0, SRCAND); 
	pDC->BitBlt(rect.left,rect.top,rect.Width(), rect.Height(), &ImageDC, 0, 0,SRCPAINT); 
	
	MaskDC.SelectObject(pOldMaskDCBitmap); 
	ImageDC.SelectObject(pOldImage); 
}

//顯示錯誤信息
void CMyImage::ShowErr(IMAGE_ERROR err)
{
	switch(err) {
	case IMAGE_OK:		
		break;
	case IMAGE_NULL:
		AfxMessageBox("圖像Image為空--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_CREATE:
		AfxMessageBox("創建圖像Image失敗--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_FREE:				//釋放圖像Image失敗
		AfxMessageBox("釋放圖像Image失敗--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_LOCK:				//鎖定圖像Image失敗
		AfxMessageBox("鎖定圖像Image失敗--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_UNLOCK:           //解鎖圖像Image失敗
		AfxMessageBox("解鎖圖像Image失敗--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_READFILE:			//讀圖像文件失敗
		AfxMessageBox("讀圖像文件失敗--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_FILENOTEXIST:		//文件不存在
		AfxMessageBox("圖像文件不存在--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_RGB:			//圖像格式不對//目前只能處理24位真彩色
		AfxMessageBox("圖像格式不對|目前只能處理24位真彩色--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_IMAGELOAD_SAVE:		//調用ImageLoad讀寫JPG圖像失敗
		AfxMessageBox("調用ImageLoad寫JPG圖像失敗--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_IMAGELOAD_READ:
		AfxMessageBox("調用ImageLoad讀JPG圖像失敗--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_INFOHEADER:		//沒有指定BITMAPINFOHEADER(m_bih)			
		AfxMessageBox("沒有指定位圖頭信息--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_WRITEFILE:		//寫文件失敗()
		AfxMessageBox("寫文件失敗--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_NOTSUPPORTFILE:	//不支持的圖像格式(只支持BMP和JPG)		
		AfxMessageBox("不支持的圖像格式(只支持BMP和JPG)--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_SIZE:				//緩沖大小不正確	
		AfxMessageBox("緩沖大小不正確--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_NOFILENAME:		//文件名稱為空		
		AfxMessageBox("文件名稱為空--CMyImage", MB_OK | MB_ICONERROR);
		break;
	case IMAGE_ERR_DRAW:	//用StretchDIBits或SetDIBitsToDevice繪制圖像時失敗
		AfxMessageBox("用StretchDIBits或SetDIBitsToDevice繪制圖像時失敗--CMyImage", MB_OK | MB_ICONERROR);
		break;
	default:
		AfxMessageBox("未知錯誤--CMyImage", MB_OK | MB_ICONERROR);
	}
}
//從文件獲得DIB位圖
HDIB CMyImage::LoadDIB(CString FileName)
{

	if(FileName.IsEmpty())
		return NULL;
	
	CFile file;
	CFileException fe;	
	if (!file.Open(FileName, CFile::modeRead | CFile::shareDenyNone , &fe))
	{
		//		MessageBox(NULL,"無法讀取文件!","錯誤",MB_ICONSTOP);
		
		return NULL;
	}
	HDIB hDib = NULL;
	CString m_strName=FileName;
	CString m_strFileExt=FileName.Right(3);
	m_strFileExt.MakeUpper();
	if(m_strFileExt=="BMP")
	{
		TRY
		{
			hDib = LoadDIB(file);
			if( !hDib )
			{
				file.Close();
				return NULL;
			}
		}
		CATCH (CFileException, eLoad)
		{
			file.Abort(); // will not throw an exception
			return NULL;
		}
		END_CATCH
	}
	else if(m_strFileExt=="JPG")
	{
		//	file.Close();
		hDib = LoadDibJPG(FileName);
		if( !hDib)
			return NULL;
	}
	else
	{
		file.Close();
		return NULL;
	}
	
	file.Close();
	return hDib;
}
//從BMP文件中獲得DIB
HDIB CMyImage::LoadDIB(CFile &file)
{
	BITMAPFILEHEADER bmfHeader;
	LPBITMAPINFOHEADER lpbmi=NULL;		// pointer to a Win 3.0-style DIB
	LPBITMAPINFO		lpbmifo=NULL;
	BITMAPINFO			BitmapInfo;
	LPBYTE pDIB=NULL;
	
	// Get length of DIB in bytes for use when reading
	DWORD m_dwBitsSize = file.GetLength()-sizeof(BITMAPFILEHEADER);
	
	// Go read the DIB file header and check if it's valid.
	if(file.Read((LPSTR)&bmfHeader, sizeof(bmfHeader)) != sizeof(bmfHeader))
		return NULL;
	
	if (bmfHeader.bfType != DIB_HEADER_MARKER)
		return NULL;
	
	if(file.Read((LPSTR)&BitmapInfo, sizeof(BitmapInfo)) != sizeof(BitmapInfo))
		return NULL;

	if(BitmapInfo.bmiHeader.biBitCount!=24)
	{
		//		MessageBox(NULL,"讀取圖像文件錯誤,目前只支持24位真彩色圖像。","讀取圖像文件錯誤",MB_OK|MB_ICONERROR);
		
		return NULL;
	}
	
	
	DWORD	dwWidth=BitmapInfo.bmiHeader.biWidth;
	DWORD	dwHeight=BitmapInfo.bmiHeader.biHeight;
	DWORD	dwWidthOfByte=WIDTHBYTES(dwWidth*24);
	
	DWORD	dwTemp=dwWidthOfByte*dwHeight+sizeof(BITMAPINFOHEADER);
	if(dwTemp>m_dwBitsSize)
		m_dwBitsSize=dwTemp;
	
	
	DWORD dwDibOffset=bmfHeader.bfOffBits;
	HDIB	hDib = NULL;
	hDib = (HDIB)::GlobalAlloc(GHND/*GMEM_FIXED*/, m_dwBitsSize);
	if(!hDib)
		return NULL;
	// Allocate memory for DIB
//	m_hDIB = (HDIB)::GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT,m_dwBitsSize );
	//Allocate memory error
//	if (m_hDIB == NULL) return FALSE;
	PBYTE aa = NULL;
	aa =(PBYTE)::GlobalLock(hDib);
	if(!aa)
	{
		GlobalFree(hDib);
		return NULL;
	}
//	memcpy(aa, &bmfHeader, 14);
//	memcpy(aa + 14, &(BitmapInfo->bmiHeader), 40);
	pDIB = aa;
	//Point to BITMAPINFOHEADER structure 
	lpbmi=(LPBITMAPINFOHEADER)pDIB;
	lpbmifo=(LPBITMAPINFO)pDIB;
	
//	m_lpBitmapInfoHeader=(LPBITMAPINFOHEADER)pDIB;
	
	file.Seek(sizeof(BITMAPFILEHEADER),CFile::begin);
	// Go read the bits.
	if(file.ReadHuge(pDIB, m_dwBitsSize)!=m_dwBitsSize)
	{
		BOOL b = ::GlobalUnlock(hDib);
		/*win98下不能使用
		if(!b)
		return IMAGE_ERR_UNLOCK;
		*/
		GlobalFree(hDib);
		
		return NULL;
	}
	
	if(lpbmi->biCompression!=BI_RGB)
	{
		BOOL b = ::GlobalUnlock(hDib);
		/*win98下不能使用
		if(!b)
		return IMAGE_ERR_UNLOCK;
		*/
		GlobalFree(hDib);
		return NULL;
	}
	
	BOOL b = ::GlobalUnlock(hDib);
		/*win98下不能使用
		if(!b)
		return IMAGE_ERR_UNLOCK;
		*/
	return hDib;
}
//從JPG文件中獲得DIB
HDIB CMyImage::LoadDibJPG(CString FileName)
{
	if(FileName.IsEmpty())
		return NULL;
	HGLOBAL h = NULL;
	h = ::LoadJPG(LPCTSTR(FileName));
	if(h==NULL)
		return NULL;

	PBYTE lp = NULL;
	DWORD dwSize = GlobalSize(h);
	lp = (LPBYTE)::GlobalLock(h);
	if(!lp)
	{
		GlobalFree(h);
		return NULL;
	}
	HDIB hDib = NULL;
	hDib = (HDIB)::GlobalAlloc(GHND/*GMEM_FIXED*/, dwSize - 14);
	if(!hDib)
		return NULL;
	PBYTE lpd = NULL;
	lpd = (PBYTE)::GlobalLock(hDib);
	if(!lpd)
	{
		GlobalUnlock(h);
		GlobalFree(h);
		return NULL;
	}
	memcpy(lpd, lp + 14, dwSize -14);
	BOOL b = ::GlobalUnlock(h);
	b = GlobalUnlock(hDib);
			/*win98下不能使用
		if(!b)
		return IMAGE_ERR_UNLOCK;
		*/
	
	
	return hDib;
}

//從文件獲得DDB位圖
HBITMAP CMyImage::LoadDDB(CString FileName)
{
	if(FileName.IsEmpty())
		return NULL;
	HDIB h = NULL;
	h =LoadDIB(FileName);
	if(!h)
		return NULL;
	HBITMAP hBitmap = NULL;
	hBitmap = DIBtoDDB(h);
	if(!hBitmap)
	{
		GlobalFree(h);
		return NULL;
	}
	return hBitmap;
}

BOOL CMyImage::GetBih(HDIB hDib, int &width, int &height, int &bitscount)
{
	width=0;
	height=0;
	bitscount=24;
	if(!hDib)
		return FALSE;
	PBYTE lp = NULL;
	lp = (PBYTE)GlobalLock(hDib);
	if(!lp)
	{
		return FALSE;
	}
	LPBITMAPINFOHEADER lpbih = (LPBITMAPINFOHEADER)lp;
	width = lpbih->biWidth;
	height = lpbih->biHeight;
	bitscount = lpbih->biBitCount;
	BOOL b = GlobalUnlock(hDib);
	return TRUE;
}

BOOL CMyImage::GetBih(HBITMAP hBitmap, int &width, int &height, int &bitscount)
{
	width = 0;height=0;bitscount=24;
	if(!hBitmap)
		return FALSE;
	BITMAP bitmap;
 	
	// 計算位圖文件每個像素所占字節數
	::GetObject(hBitmap, sizeof(BITMAP), &bitmap);
    width = bitmap.bmWidth;
	height = bitmap.bmHeight;
	bitscount = bitmap.bmBitsPixel;
	return TRUE;
	
}

//復制MyImage對象
CMyImage* CMyImage::CopyImage(CMyImage *pImage)
{
	if(!pImage)
		return NULL;
	DWORD dwSize = 0;
	dwSize = GetImageSize(pImage);
	IMAGE_ERROR err=IMAGE_OK;
	PBYTE ld=NULL, ls=NULL;
	if(dwSize > 0 )
	{
		CMyImage* Image = new CMyImage();
		if(!Image)
			return NULL;
		err = Image->CreateObject(dwSize);
		if(err != IMAGE_OK)
			return NULL;
		ls = (PBYTE)::GlobalLock(pImage->hImage);
		if(!ls)
		{
			delete Image;
			Image = NULL;
			return NULL;
		}
		ld = (PBYTE)::GlobalLock(Image->hImage);
		if(!ld)
		{
			delete Image;
			Image = NULL;
			GlobalUnlock(pImage->hImage);
			return NULL;
		}
		memcpy(ld, ls, dwSize);
		GlobalUnlock(Image->hImage);
		GlobalUnlock(pImage->hImage);
		return Image;
	}
	else
		return NULL;
}

//獲取MyImage對象的大小
DWORD CMyImage::GetImageSize(CMyImage* pImage)
{
	if(!hImage)
		return 0;
	DWORD dwSize = GlobalSize(hImage);
	return dwSize;
}

//復制DIB位圖
HDIB CMyImage::CopyDIB(HDIB hDib)
{
	if(!hDib)
		return NULL;
	DWORD dwSize = GlobalSize(hDib);
	HDIB h = NULL;
	h = (HDIB)::GlobalAlloc(GHND/*GMEM_FIXED*/, dwSize);
	if(!h)
		return NULL;
	PBYTE ls=NULL,ld=NULL;
	ls = (PBYTE)::GlobalLock(hDib);
	if(!ls)
	{
		return NULL;
	}
	ld = (PBYTE)::GlobalLock(h);
	if(!ld)
	{
		::GlobalUnlock(hDib);
		::GlobalFree(h);
		return NULL;
	}
	memcpy(ld, ls, dwSize);
	GlobalUnlock(hDib);
	GlobalUnlock(h);
	return h;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日韩在线观看| 亚洲高清在线视频| 精品一区二区三区欧美| 日韩精品专区在线| 另类专区欧美蜜桃臀第一页| 久久久91精品国产一区二区三区| 国产精品自在在线| 亚洲色图丝袜美腿| 欧美一区二区三区视频在线观看| 久久精品国产久精国产爱| 久久久久青草大香线综合精品| 丁香六月久久综合狠狠色| 亚洲激情av在线| 91精品国产综合久久精品麻豆 | 色综合久久99| 亚洲不卡av一区二区三区| 日韩精品在线网站| 成人免费观看男女羞羞视频| 亚洲动漫第一页| 精品对白一区国产伦| 99精品久久久久久| 免费观看久久久4p| 国产精品三级av| 欧美日韩欧美一区二区| 国产一区二区美女诱惑| 一卡二卡欧美日韩| 久久久久综合网| 欧美午夜精品理论片a级按摩| 精品综合久久久久久8888| 亚洲图片激情小说| 欧美一区二区三级| 91亚洲精品一区二区乱码| 日本三级亚洲精品| 亚洲视频网在线直播| 日韩午夜电影av| 91成人在线免费观看| 国产综合久久久久久鬼色| 亚洲香肠在线观看| 欧美国产综合一区二区| 欧美一区二区三区免费观看视频| 成人福利视频网站| 久久99国产精品麻豆| 一区二区三区四区不卡在线 | 亚洲综合清纯丝袜自拍| 国产免费观看久久| 欧美变态凌虐bdsm| 欧美日韩高清在线播放| 成人高清免费在线播放| 国产麻豆精品一区二区| 日韩福利电影在线观看| 亚洲激情五月婷婷| 欧美国产视频在线| 久久久久久久综合色一本| 3d动漫精品啪啪一区二区竹菊 | 国产高清无密码一区二区三区| 五月开心婷婷久久| 亚洲卡通欧美制服中文| 国产精品无人区| 26uuuu精品一区二区| 在线不卡中文字幕播放| 在线观看日韩毛片| 色先锋资源久久综合| 春色校园综合激情亚洲| 国产精品一区二区久久不卡| 黑人巨大精品欧美黑白配亚洲 | 久久99久国产精品黄毛片色诱| 天天综合网 天天综合色| 亚洲综合免费观看高清在线观看| 国产精品久久久久久久午夜片| 国产色爱av资源综合区| 久久久久久久精| 国产日产欧产精品推荐色 | 国产麻豆精品在线| 国产精品一二三| 国产精品一区二区三区乱码| 国模娜娜一区二区三区| 国产精品中文欧美| 成人av午夜影院| 91视频在线看| 欧美中文字幕久久| 91精品国产一区二区三区| 欧美高清激情brazzers| 日韩亚洲欧美在线| 精品av久久707| 久久久久久久久久电影| 国产精品人成在线观看免费| 国产精品家庭影院| 亚洲高清免费在线| 日韩高清中文字幕一区| 理论片日本一区| 激情欧美日韩一区二区| 不卡的av中国片| 91国产视频在线观看| 欧美精品视频www在线观看| 欧美sm美女调教| 中文乱码免费一区二区| 亚洲综合色区另类av| 青青草伊人久久| 成人在线视频一区二区| 日本道精品一区二区三区| 欧美日韩精品一区二区三区四区| 日韩欧美二区三区| 国产精品毛片久久久久久| 亚洲亚洲精品在线观看| 狠狠网亚洲精品| 色综合天天综合网国产成人综合天| 欧美日韩视频在线第一区| 久久综合久久鬼色| 亚洲蜜臀av乱码久久精品| 六月丁香综合在线视频| 不卡欧美aaaaa| 日韩一级大片在线观看| 亚洲欧美在线视频| 麻豆成人在线观看| 一本色道久久加勒比精品 | 欧美国产成人精品| 亚洲成人动漫在线免费观看| 国产福利一区在线| 欧美私模裸体表演在线观看| 久久伊人中文字幕| 亚洲影院理伦片| 激情五月婷婷综合网| 欧美色图12p| 久久精品网站免费观看| 亚洲电影在线播放| 成人伦理片在线| 欧美mv日韩mv国产| 亚洲人成影院在线观看| 国产精品资源在线| 日韩一级视频免费观看在线| 亚洲精品精品亚洲| 国产精品亚洲第一| 日韩欧美成人一区| 亚洲一区中文在线| 波多野结衣中文一区| 欧美一区二区三区四区高清| 亚洲一区二区三区美女| 不卡视频免费播放| 国产亚洲精品aa| 精品在线一区二区| 欧美顶级少妇做爰| 一区二区三区小说| 成人高清伦理免费影院在线观看| 精品国产乱码久久久久久久久 | 国产成人综合在线观看| 91精品国产综合久久精品图片 | 国产一区二区三区在线观看精品 | 夜夜嗨av一区二区三区四季av| 国产盗摄精品一区二区三区在线 | 成人性生交大合| 精品剧情在线观看| 天天综合色天天| 色婷婷亚洲婷婷| 亚洲视频香蕉人妖| av高清久久久| 最新热久久免费视频| 粉嫩aⅴ一区二区三区四区| 亚洲精品一区二区精华| 男男视频亚洲欧美| 日韩欧美黄色影院| 麻豆国产91在线播放| 欧美精品色一区二区三区| 亚洲v中文字幕| 欧美亚洲国产一区在线观看网站| 一区二区三区日韩精品视频| 色偷偷久久人人79超碰人人澡| 中文字幕制服丝袜一区二区三区| 成人精品gif动图一区| 国产日韩欧美在线一区| 国产一区二区三区日韩| 国产亚洲1区2区3区| 成人免费视频一区| 亚洲三级小视频| 91精彩视频在线观看| 亚洲综合久久av| 欧美中文字幕一二三区视频| 亚洲丰满少妇videoshd| 欧美一区二区三区色| 久久99精品久久久| 国产精品午夜免费| 91免费观看在线| 亚洲主播在线观看| 欧美一区二区三区视频免费| 国产一区二区91| 国产精品乱码一区二三区小蝌蚪| 99久久综合狠狠综合久久| 亚洲精品午夜久久久| 欧美精品免费视频| 国产精品911| 自拍偷拍亚洲欧美日韩| 欧美美女视频在线观看| 精东粉嫩av免费一区二区三区| 国产欧美日韩视频一区二区| 不卡av免费在线观看| 亚洲图片欧美一区| 日韩欧美综合在线| 北条麻妃国产九九精品视频| 亚洲午夜一区二区| 欧美精品一区视频| 日本高清不卡视频|