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

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

?? dibapi.cpp

?? vc++數字圖像處理 ,是一本很不錯的介紹數字圖像方面的書籍,這里有本書的全部源碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// ************************************************************************//  文件名:dibapi.cpp////  DIB(Independent Bitmap) API函數庫:////  PaintDIB()          - 繪制DIB對象//  CreateDIBPalette()  - 創建DIB對象調色板//  FindDIBBits()       - 返回DIB圖像象素起始位置//  DIBWidth()          - 返回DIB寬度//  DIBHeight()         - 返回DIB高度//  PaletteSize()       - 返回DIB調色板大小//  DIBNumColors()      - 計算DIB調色板顏色數目//  CopyHandle()        - 拷貝內存塊////  SaveDIB()           - 將DIB保存到指定文件中//  ReadDIBFile()       - 重指定文件中讀取DIB對象////  DIBToPCX256()		- 將指定的256色DIB對象保存為256色PCX文件//  ReadPCX256()		- 讀取256色PCX文件//// ************************************************************************#include "stdafx.h"#include "dibapi.h"#include <io.h>#include <errno.h>#include <math.h>#include <direct.h>/* * Dib文件頭標志(字符串"BM",寫DIB時用到該常數) */#define DIB_HEADER_MARKER   ((WORD) ('M' << 8) | 'B')/************************************************************************* * * 函數名稱: *   PaintDIB() * * 參數: *   HDC hDC            - 輸出設備DC *   LPRECT lpDCRect    - 繪制矩形區域 *   HDIB hDIB          - 指向DIB對象的指針 *   LPRECT lpDIBRect   - 要輸出的DIB區域 *   CPalette* pPal     - 指向DIB對象調色板的指針 * * 返回值: *   BOOL               - 繪制成功返回TRUE,否則返回FALSE。 * * 說明: *   該函數主要用來繪制DIB對象。其中調用了StretchDIBits()或者 * SetDIBitsToDevice()來繪制DIB對象。輸出的設備由由參數hDC指 * 定;繪制的矩形區域由參數lpDCRect指定;輸出DIB的區域由參數 * lpDIBRect指定。 * ************************************************************************/BOOL WINAPI PaintDIB(HDC     hDC,					LPRECT  lpDCRect,					HDIB    hDIB,					LPRECT  lpDIBRect,					CPalette* pPal){	LPSTR    lpDIBHdr;            // BITMAPINFOHEADER指針	LPSTR    lpDIBBits;           // DIB象素指針	BOOL     bSuccess=FALSE;      // 成功標志	HPALETTE hPal=NULL;           // DIB調色板	HPALETTE hOldPal=NULL;        // 以前的調色板	// 判斷DIB對象是否為空	if (hDIB == NULL)	{		// 返回		return FALSE;	}	// 鎖定DIB	lpDIBHdr  = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);	// 找到DIB圖像象素起始位置	lpDIBBits = ::FindDIBBits(lpDIBHdr);	// 獲取DIB調色板,并選中它	if (pPal != NULL)	{		hPal = (HPALETTE) pPal->m_hObject;		// 選中調色板		hOldPal = ::SelectPalette(hDC, hPal, TRUE);	}	// 設置顯示模式	::SetStretchBltMode(hDC, COLORONCOLOR);	// 判斷是調用StretchDIBits()還是SetDIBitsToDevice()來繪制DIB對象	if ((RECTWIDTH(lpDCRect)  == RECTWIDTH(lpDIBRect)) &&	   (RECTHEIGHT(lpDCRect) == RECTHEIGHT(lpDIBRect)))	{		// 原始大小,不用拉伸。		bSuccess = ::SetDIBitsToDevice(hDC,                    // hDC								   lpDCRect->left,             // DestX								   lpDCRect->top,              // DestY								   RECTWIDTH(lpDCRect),        // nDestWidth								   RECTHEIGHT(lpDCRect),       // nDestHeight								   lpDIBRect->left,            // SrcX								   (int)DIBHeight(lpDIBHdr) -									  lpDIBRect->top -									  RECTHEIGHT(lpDIBRect),   // SrcY								   0,                          // nStartScan								   (WORD)DIBHeight(lpDIBHdr),  // nNumScans								   lpDIBBits,                  // lpBits								   (LPBITMAPINFO)lpDIBHdr,     // lpBitsInfo								   DIB_RGB_COLORS);            // wUsage	}    else	{		// 非原始大小,拉伸。		bSuccess = ::StretchDIBits(hDC,                          // hDC							   lpDCRect->left,                 // DestX							   lpDCRect->top,                  // DestY							   RECTWIDTH(lpDCRect),            // nDestWidth							   RECTHEIGHT(lpDCRect),           // nDestHeight							   lpDIBRect->left,                // SrcX							   lpDIBRect->top,                 // SrcY							   RECTWIDTH(lpDIBRect),           // wSrcWidth							   RECTHEIGHT(lpDIBRect),          // wSrcHeight							   lpDIBBits,                      // lpBits							   (LPBITMAPINFO)lpDIBHdr,         // lpBitsInfo							   DIB_RGB_COLORS,                 // wUsage							   SRCCOPY);                       // dwROP	}	    // 解除鎖定	::GlobalUnlock((HGLOBAL) hDIB);		// 恢復以前的調色板	if (hOldPal != NULL)	{		::SelectPalette(hDC, hOldPal, TRUE);	}		// 返回	return bSuccess;}/************************************************************************* * * 函數名稱: *   CreateDIBPalette() * * 參數: *   HDIB hDIB          - 指向DIB對象的指針 *   CPalette* pPal     - 指向DIB對象調色板的指針 * * 返回值: *   BOOL               - 創建成功返回TRUE,否則返回FALSE。 * * 說明: *   該函數按照DIB創建一個邏輯調色板,從DIB中讀取顏色表并存到調色板中, * 最后按照該邏輯調色板創建一個新的調色板,并返回該調色板的句柄。這樣 * 可以用最好的顏色來顯示DIB圖像。 * ************************************************************************/BOOL WINAPI CreateDIBPalette(HDIB hDIB, CPalette* pPal){	// 指向邏輯調色板的指針	LPLOGPALETTE lpPal;		// 邏輯調色板的句柄	HANDLE hLogPal;		// 調色板的句柄	HPALETTE hPal = NULL;		// 循環變量	int i;		// 顏色表中的顏色數目	WORD wNumColors;		// 指向DIB的指針	LPSTR lpbi;		// 指向BITMAPINFO結構的指針(Win3.0)	LPBITMAPINFO lpbmi;		// 指向BITMAPCOREINFO結構的指針	LPBITMAPCOREINFO lpbmc;		// 表明是否是Win3.0 DIB的標記	BOOL bWinStyleDIB;		// 創建結果	BOOL bResult = FALSE;		// 判斷DIB是否為空	if (hDIB == NULL)	{		// 返回FALSE		return FALSE;	}		// 鎖定DIB	lpbi = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);		// 獲取指向BITMAPINFO結構的指針(Win3.0)	lpbmi = (LPBITMAPINFO)lpbi;		// 獲取指向BITMAPCOREINFO結構的指針	lpbmc = (LPBITMAPCOREINFO)lpbi;		// 獲取DIB中顏色表中的顏色數目	wNumColors = ::DIBNumColors(lpbi);		if (wNumColors != 0)	{		// 分配為邏輯調色板內存		hLogPal = ::GlobalAlloc(GHND, sizeof(LOGPALETTE)									+ sizeof(PALETTEENTRY)									* wNumColors);				// 如果內存不足,退出		if (hLogPal == 0)		{			// 解除鎖定			::GlobalUnlock((HGLOBAL) hDIB);						// 返回FALSE			return FALSE;		}				lpPal = (LPLOGPALETTE) ::GlobalLock((HGLOBAL) hLogPal);				// 設置版本號		lpPal->palVersion = PALVERSION;				// 設置顏色數目		lpPal->palNumEntries = (WORD)wNumColors;				// 判斷是否是WIN3.0的DIB		bWinStyleDIB = IS_WIN30_DIB(lpbi);		// 讀取調色板		for (i = 0; i < (int)wNumColors; i++)		{			if (bWinStyleDIB)			{				// 讀取紅色分量				lpPal->palPalEntry[i].peRed = lpbmi->bmiColors[i].rgbRed;								// 讀取綠色分量				lpPal->palPalEntry[i].peGreen = lpbmi->bmiColors[i].rgbGreen;								// 讀取藍色分量				lpPal->palPalEntry[i].peBlue = lpbmi->bmiColors[i].rgbBlue;								// 保留位				lpPal->palPalEntry[i].peFlags = 0;			}			else			{				// 讀取紅色分量				lpPal->palPalEntry[i].peRed = lpbmc->bmciColors[i].rgbtRed;								// 讀取綠色分量				lpPal->palPalEntry[i].peGreen = lpbmc->bmciColors[i].rgbtGreen;								// 讀取紅色分量				lpPal->palPalEntry[i].peBlue = lpbmc->bmciColors[i].rgbtBlue;								// 保留位				lpPal->palPalEntry[i].peFlags = 0;			}		}				// 按照邏輯調色板創建調色板,并返回指針		bResult = pPal->CreatePalette(lpPal);				// 解除鎖定		::GlobalUnlock((HGLOBAL) hLogPal);				// 釋放邏輯調色板		::GlobalFree((HGLOBAL) hLogPal);	}		// 解除鎖定	::GlobalUnlock((HGLOBAL) hDIB);		// 返回結果	return bResult;}/************************************************************************* * * 函數名稱: *   FindDIBBits() * * 參數: *   LPSTR lpbi         - 指向DIB對象的指針 * * 返回值: *   LPSTR              - 指向DIB圖像象素起始位置 * * 說明: *   該函數計算DIB中圖像象素的起始位置,并返回指向它的指針。 * ************************************************************************/LPSTR WINAPI FindDIBBits(LPSTR lpbi){	return (lpbi + *(LPDWORD)lpbi + ::PaletteSize(lpbi));}/************************************************************************* * * 函數名稱: *   DIBWidth() * * 參數: *   LPSTR lpbi         - 指向DIB對象的指針 * * 返回值: *   DWORD              - DIB中圖像的寬度 * * 說明: *   該函數返回DIB中圖像的寬度。對于Windows 3.0 DIB,返回BITMAPINFOHEADER * 中的biWidth值;對于其它返回BITMAPCOREHEADER中的bcWidth值。 * ************************************************************************/DWORD WINAPI DIBWidth(LPSTR lpDIB){	// 指向BITMAPINFO結構的指針(Win3.0)	LPBITMAPINFOHEADER lpbmi;		// 指向BITMAPCOREINFO結構的指針	LPBITMAPCOREHEADER lpbmc;	// 獲取指針	lpbmi = (LPBITMAPINFOHEADER)lpDIB;	lpbmc = (LPBITMAPCOREHEADER)lpDIB;	// 返回DIB中圖像的寬度	if (IS_WIN30_DIB(lpDIB))	{		// 對于Windows 3.0 DIB,返回lpbmi->biWidth		return lpbmi->biWidth;	}	else	{		// 對于其它格式的DIB,返回lpbmc->bcWidth		return (DWORD)lpbmc->bcWidth;	}}/************************************************************************* * * 函數名稱: *   DIBHeight() * * 參數: *   LPSTR lpDIB        - 指向DIB對象的指針 * * 返回值: *   DWORD              - DIB中圖像的高度 * * 說明: *   該函數返回DIB中圖像的高度。對于Windows 3.0 DIB,返回BITMAPINFOHEADER * 中的biHeight值;對于其它返回BITMAPCOREHEADER中的bcHeight值。 * ************************************************************************/DWORD WINAPI DIBHeight(LPSTR lpDIB){	// 指向BITMAPINFO結構的指針(Win3.0)	LPBITMAPINFOHEADER lpbmi;		// 指向BITMAPCOREINFO結構的指針	LPBITMAPCOREHEADER lpbmc;	// 獲取指針	lpbmi = (LPBITMAPINFOHEADER)lpDIB;	lpbmc = (LPBITMAPCOREHEADER)lpDIB;	// 返回DIB中圖像的寬度	if (IS_WIN30_DIB(lpDIB))	{		// 對于Windows 3.0 DIB,返回lpbmi->biHeight		return lpbmi->biHeight;	}	else	{		// 對于其它格式的DIB,返回lpbmc->bcHeight		return (DWORD)lpbmc->bcHeight;	}}/************************************************************************* * * 函數名稱: *   PaletteSize() * * 參數: *   LPSTR lpbi         - 指向DIB對象的指針 * * 返回值: *   WORD               - DIB中調色板的大小 * * 說明: *   該函數返回DIB中調色板的大小。對于Windows 3.0 DIB,返回顏色數目× * RGBQUAD的大小;對于其它返回顏色數目×RGBTRIPLE的大小。 * ************************************************************************/WORD WINAPI PaletteSize(LPSTR lpbi){	// 計算DIB中調色板的大小	if (IS_WIN30_DIB (lpbi))	{		//返回顏色數目×RGBQUAD的大小		return (WORD)(::DIBNumColors(lpbi) * sizeof(RGBQUAD));	}	else	{		//返回顏色數目×RGBTRIPLE的大小		return (WORD)(::DIBNumColors(lpbi) * sizeof(RGBTRIPLE));	}}/************************************************************************* * * 函數名稱: *   DIBNumColors() * * 參數: *   LPSTR lpbi         - 指向DIB對象的指針 * * 返回值: *   WORD               - 返回調色板中顏色的種數 * * 說明: *   該函數返回DIB中調色板的顏色的種數。對于單色位圖,返回2, * 對于16色位圖,返回16,對于256色位圖,返回256;對于真彩色 * 位圖(24位),沒有調色板,返回0。 * ************************************************************************/WORD WINAPI DIBNumColors(LPSTR lpbi){	WORD wBitCount;	// 對于Windows的DIB, 實際顏色的數目可以比象素的位數要少。	// 對于這種情況,則返回一個近似的數值。		// 判斷是否是WIN3.0 DIB	if (IS_WIN30_DIB(lpbi))	{		DWORD dwClrUsed;				// 讀取dwClrUsed值		dwClrUsed = ((LPBITMAPINFOHEADER)lpbi)->biClrUsed;				if (dwClrUsed != 0)		{			// 如果dwClrUsed(實際用到的顏色數)不為0,直接返回該值			return (WORD)dwClrUsed;		}	}	// 讀取象素的位數	if (IS_WIN30_DIB(lpbi))	{		// 讀取biBitCount值		wBitCount = ((LPBITMAPINFOHEADER)lpbi)->biBitCount;	}	else	{		// 讀取biBitCount值		wBitCount = ((LPBITMAPCOREHEADER)lpbi)->bcBitCount;	}		// 按照象素的位數計算顏色數目	switch (wBitCount)	{		case 1:			return 2;		case 4:			return 16;		case 8:			return 256;		default:			return 0;	}}/************************************************************************* * * 函數名稱: *   DIBBitCount() * * 參數: *   LPSTR lpbi         - 指向DIB對象的指針 * * 返回值: *   WORD               - 返回調色板中顏色的種數 * * 說明: *   該函數返回DIBBitCount。 * ************************************************************************/WORD WINAPI DIBBitCount(LPSTR lpbi){	WORD wBitCount;	// 讀取象素的位數	if (IS_WIN30_DIB(lpbi))	{		// 讀取biBitCount值		wBitCount = ((LPBITMAPINFOHEADER)lpbi)->biBitCount;	}	else	{		// 讀取biBitCount值		wBitCount = ((LPBITMAPCOREHEADER)lpbi)->bcBitCount;	}		// 返回wBitCount	return wBitCount;}/************************************************************************* * * 函數名稱: *   CopyHandle() * * 參數: *   HGLOBAL h          - 要復制的內存區域 * * 返回值: *   HGLOBAL            - 復制后的新內存區域 * * 說明: *   該函數復制指定的內存區域。返回復制后的新內存區域,出錯時返回0。 * ************************************************************************/HGLOBAL WINAPI CopyHandle (HGLOBAL h){	if (h == NULL)		return NULL;	// 獲取指定內存區域大小	DWORD dwLen = ::GlobalSize((HGLOBAL) h);		// 分配新內存空間	HGLOBAL hCopy = ::GlobalAlloc(GHND, dwLen);		// 判斷分配是否成功	if (hCopy != NULL)	{		// 鎖定		void* lpCopy = ::GlobalLock((HGLOBAL) hCopy);		void* lp     = ::GlobalLock((HGLOBAL) h);				// 復制		memcpy(lpCopy, lp, dwLen);				// 解除鎖定		::GlobalUnlock(hCopy);		::GlobalUnlock(h);	}	return hCopy;}/************************************************************************* * * 函數名稱: *   SaveDIB() * * 參數: *   HDIB hDib          - 要保存的DIB *   CFile& file        - 保存文件CFile * * 返回值: *   BOOL               - 成功返回TRUE,否則返回FALSE或者CFileException * * 說明: *   該函數將指定的DIB對象保存到指定的CFile中。該CFile由調用程序打開和關閉。 * *************************************************************************/BOOL WINAPI SaveDIB(HDIB hDib, CFile& file){	// Bitmap文件頭	BITMAPFILEHEADER bmfHdr;		// 指向BITMAPINFOHEADER的指針	LPBITMAPINFOHEADER lpBI;		// DIB大小	DWORD dwDIBSize;	if (hDib == NULL)	{		// 如果DIB為空,返回FALSE		return FALSE;	}	// 讀取BITMAPINFO結構,并鎖定	lpBI = (LPBITMAPINFOHEADER) ::GlobalLock((HGLOBAL) hDib);		if (lpBI == NULL)	{		// 為空,返回FALSE		return FALSE;	}		// 判斷是否是WIN3.0 DIB	if (!IS_WIN30_DIB(lpBI))	{		// 不支持其它類型的DIB保存				// 解除鎖定		::GlobalUnlock((HGLOBAL) hDib);				// 返回FALSE		return FALSE;	}	// 填充文件頭	// 文件類型"BM"	bmfHdr.bfType = DIB_HEADER_MARKER;	// 計算DIB大小時,最簡單的方法是調用GlobalSize()函數。但是全局內存大小并	// 不是DIB真正的大小,它總是多幾個字節。這樣就需要計算一下DIB的真實大小。		// 文件頭大小+顏色表大小	// (BITMAPINFOHEADER和BITMAPCOREHEADER結構的第一個DWORD都是該結構的大小)	dwDIBSize = *(LPDWORD)lpBI + ::PaletteSize((LPSTR)lpBI);		// 計算圖像大小	if ((lpBI->biCompression == BI_RLE8) || (lpBI->biCompression == BI_RLE4))	{		// 對于RLE位圖,沒法計算大小,只能信任biSizeImage內的值		dwDIBSize += lpBI->biSizeImage;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级淫片007| 欧美午夜不卡视频| 亚洲精品高清在线| 91精品国产综合久久福利软件 | 欧美zozozo| 99re热这里只有精品免费视频| 香蕉久久一区二区不卡无毒影院| 26uuu精品一区二区在线观看| 欧美性高清videossexo| 国产不卡高清在线观看视频| 同产精品九九九| 中文字幕亚洲欧美在线不卡| 精品欧美一区二区三区精品久久| 91黄色激情网站| 成人av资源站| 国产一区在线视频| 免费高清成人在线| 亚洲一区二区精品3399| 国产精品成人午夜| 国产亚洲精品aa| 精品国产1区二区| 欧美一级片在线看| 欧美日韩国产大片| 色综合久久久久综合99| jiyouzz国产精品久久| 韩国av一区二区三区四区 | 国产+成+人+亚洲欧洲自线| 五月天丁香久久| 亚洲一区二区高清| 亚洲激情在线激情| 亚洲欧美一区二区三区孕妇| 国产婷婷色一区二区三区| 日韩欧美黄色影院| 日韩一区二区中文字幕| 国产精品免费网站在线观看| 久久看人人爽人人| 2021国产精品久久精品| 精品久久国产老人久久综合| 日韩免费看的电影| 日韩午夜在线观看视频| 91麻豆精品国产91久久久久久| 欧美视频一区二区| 欧美视频中文字幕| 欧美午夜一区二区三区| 欧美肥胖老妇做爰| 在线不卡欧美精品一区二区三区| 一本大道久久a久久精二百| caoporm超碰国产精品| av一本久道久久综合久久鬼色| 99精品国产91久久久久久| 91视频一区二区三区| 91在线观看免费视频| 色88888久久久久久影院野外| 日本高清成人免费播放| 欧美中文字幕亚洲一区二区va在线| 日本韩国一区二区三区视频| 在线免费观看日本欧美| 欧美揉bbbbb揉bbbbb| 538在线一区二区精品国产| 欧美一级欧美三级在线观看 | 久久久av毛片精品| 中文字幕精品一区二区三区精品| 国产精品日韩成人| 亚洲激情图片qvod| 日韩精品午夜视频| 国产一级精品在线| 色先锋aa成人| 91精品国产91久久久久久一区二区 | 日韩av网站免费在线| 精品一区二区久久| 成人性视频网站| 在线视频国内一区二区| 7777精品伊人久久久大香线蕉最新版| 日韩精品一区二区三区swag| 久久久亚洲午夜电影| 亚洲美女免费视频| 日本不卡一区二区三区| 高清不卡一区二区在线| 欧美三级蜜桃2在线观看| 日韩免费一区二区三区在线播放| 亚洲国产激情av| 五月开心婷婷久久| 成人福利视频在线| 欧美曰成人黄网| www欧美成人18+| 亚洲激情自拍视频| 国产综合色精品一区二区三区| www.亚洲精品| 日韩一区二区视频在线观看| 国产精品天天看| 日韩中文字幕不卡| 99麻豆久久久国产精品免费优播| 欧美精品黑人性xxxx| 国产精品乱码妇女bbbb| 日韩1区2区3区| 91欧美一区二区| 久久人人爽爽爽人久久久| 亚洲尤物在线视频观看| 国产乱子轮精品视频| 欧美人伦禁忌dvd放荡欲情| 日本一二三四高清不卡| 日本成人在线一区| 91极品视觉盛宴| 国产精品美女久久久久高潮| 美腿丝袜亚洲一区| 99久久久免费精品国产一区二区| 精品乱人伦一区二区三区| 亚洲综合偷拍欧美一区色| 国产盗摄女厕一区二区三区| 欧美一卡二卡在线观看| 亚洲综合激情另类小说区| 不卡区在线中文字幕| 精品福利一二区| 免费精品视频最新在线| 欧美撒尿777hd撒尿| 亚洲人亚洲人成电影网站色| 福利一区二区在线观看| 精品成人一区二区三区| 琪琪久久久久日韩精品| 欧美丝袜丝交足nylons| 亚洲欧美日韩在线播放| 99久久精品免费| 国产精品网站在线播放| 国产成人久久精品77777最新版本| 日韩欧美一级片| 日本不卡免费在线视频| 51精品视频一区二区三区| 亚洲国产成人tv| 欧美日韩一区二区在线观看视频 | 激情综合色丁香一区二区| 欧美日韩国产片| 亚洲综合视频在线观看| 日本二三区不卡| 一区二区三区中文在线观看| 成人理论电影网| 国产精品久久久久影院老司| 国产精品888| 国产欧美一区二区精品婷婷 | 国产精一品亚洲二区在线视频| 日韩欧美国产综合在线一区二区三区| 日韩中文字幕av电影| 日韩女优av电影在线观看| 国产一区欧美日韩| 国产亚洲欧美日韩在线一区| 成人精品视频一区二区三区尤物| 欧美激情中文不卡| 91一区二区三区在线观看| 亚洲男人天堂一区| 欧美日韩视频在线一区二区| 午夜精品福利视频网站| 日韩精品中文字幕一区二区三区 | 中文字幕免费观看一区| www.欧美日韩| 亚洲一区二区在线免费观看视频| 欧美色图激情小说| 免费在线观看精品| 久久久三级国产网站| 国产美女主播视频一区| 国产精品电影一区二区| 色婷婷激情综合| 日本视频中文字幕一区二区三区| 欧美成人性战久久| 国产成人精品免费网站| 亚洲色图欧美在线| 欧美午夜精品久久久久久孕妇| 蜜桃视频在线一区| 欧美激情在线一区二区三区| 色悠久久久久综合欧美99| 日韩中文字幕亚洲一区二区va在线 | 久久婷婷国产综合国色天香| 懂色av一区二区三区免费观看| 亚洲品质自拍视频| 欧美一区二区三区电影| 国产999精品久久久久久| 亚洲一区二区三区爽爽爽爽爽 | 国产精品网曝门| 欧美三级蜜桃2在线观看| 国模冰冰炮一区二区| 亚洲精品美腿丝袜| 精品捆绑美女sm三区| 99热精品一区二区| 美洲天堂一区二卡三卡四卡视频| 国产精品污污网站在线观看| 91精品国产麻豆国产自产在线| 不卡一区二区三区四区| 麻豆精品一二三| 亚洲女人的天堂| 精品少妇一区二区三区日产乱码| 不卡av电影在线播放| 奇米精品一区二区三区在线观看一| 国产日韩v精品一区二区| 欧美日韩久久一区| 99久久久免费精品国产一区二区| 免费黄网站欧美| 亚洲地区一二三色| 国产精品美女久久久久久2018| 日韩精品一区国产麻豆| 91国偷自产一区二区三区观看| 国产精品一二三| 青草国产精品久久久久久|