青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 67  文章 - 171  trackbacks - 0
<2008年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用鏈接

留言簿(10)

隨筆分類

隨筆檔案

連接資料

最新隨筆

搜索

  •  

最新隨筆

最新評論

// Dib.h: interface for the CDib class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_DIB_H__AC952C3A_9B6B_4319_8D6E_E7F509348A88__INCLUDED_)
#define AFX_DIB_H__AC952C3A_9B6B_4319_8D6E_E7F509348A88__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CDib : public CObject 
{
public:
 CDib();
 virtual ~CDib();
//operations
public:
 // 用于操作DIB的函數(shù)聲明
 BOOL   ConstructPalette(HGLOBAL,CPalette* );         //構造邏輯調(diào)色板
 LPSTR  GetBits(LPSTR);                               //取得位圖數(shù)據(jù)的入口地址
 DWORD  GetWidth(LPSTR);                              //取得位圖的寬度
 DWORD  GetHeight(LPSTR);                             //取得位圖的高度
 WORD   GetPalSize(LPSTR);                            //取得調(diào)色板的大小
 WORD   GetColorNum(LPSTR);                            //取得位圖包含的顏色數(shù)目
 WORD   GetBitCount(LPSTR);                            //取得位圖的顏色深度
 HGLOBAL   LoadFile(CFile&);                          //從文件中加載位圖
 BOOL SaveFile(HGLOBAL hDib, CFile& file);


// 在對圖象進行處理時,針對位圖的字節(jié)寬度必須是4的倍數(shù)的這一要求,
// 我們設計了函數(shù)GetRequireWidth,來處理這種比較特殊的情況
 int     GetReqByteWidth(int );                     //轉(zhuǎn)換后的字節(jié)數(shù)GetRequireByteWidth
 long    GetRectWidth(LPCRECT );                    //取得區(qū)域的寬度
 long    GetRectHeight(LPCRECT);                    //取得區(qū)域的高度
public:
 void ClearMemory();
 void InitMembers();
public:
 LPBITMAPINFO        lpbminfo; // 指向BITMAPINFO結構的指針
 LPBITMAPINFOHEADER  lpbmihrd; //指向BITMAPINFOHEADER結構的指針
 BITMAPFILEHEADER bmfHeader;  //BITMAPFILEHEADER結構
 LPSTR    lpdib;      //指向DIB的指針
 LPSTR    lpDIBBits;  // DIB像素指針
 DWORD    dwDIBSize;  //DIB大小
 
 HGLOBAL    m_hDib;//DIB對象的句柄
 CPalette* m_palDIB;//調(diào)色板指針
};

#endif // !defined(AFX_DIB_H__AC952C3A_9B6B_4319_8D6E_E7F509348A88__INCLUDED_)

/////////////////////////////////////////////////////////////////////實現(xiàn)文件//////////////////////////////////////////////////////////////////////////////
// Dib.cpp: implementation of the CDib class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Dib.h"

#include <math.h>

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDib::CDib()
{
 InitMembers();
}

CDib::~CDib()
{
 ClearMemory();
}

/*************************************************************************
 * 函數(shù)名稱:ConstructPalette(HGLOBAL hDIB, CPalette* pPal)
 * 函數(shù)參數(shù):
 *   HGLOBAL hDIB,DIB對象的句柄
 *   CPalette* pPal,調(diào)色板的指針
 * 函數(shù)類型:BOOL
 * 函數(shù)說明:該函數(shù)按照DIB創(chuàng)建一個邏輯調(diào)色板 
 ************************************************************************/

BOOL CDib::ConstructPalette(HGLOBAL hDIB, CPalette* pPal)

 
 HANDLE hLogPal;// 邏輯調(diào)色板的句柄 
 int iLoop;// 循環(huán)變量 
 BOOL bSuccess = FALSE;// 創(chuàng)建結果 
 if (hDIB == NULL)//判斷是否是有效的DIB對象
 {  
  return FALSE;// 返回FALSE
 } 
 lpdib = (LPSTR) ::GlobalLock((HGLOBAL) hDIB);// 鎖定DIB
 lpbminfo= (LPBITMAPINFO)lpdib;   
 long wNumColors =GetColorNum(lpdib);// 獲取DIB中顏色表中的顏色數(shù)目 
 if (wNumColors != 0)
 {  
  hLogPal = ::GlobalAlloc(GHND, sizeof(LOGPALETTE)// 分配為邏輯調(diào)色板內(nèi)存
         + sizeof(PALETTEENTRY)
         * wNumColors); 
  if (hLogPal == 0)// 如果失敗則退出
  {   
   ::GlobalUnlock((HGLOBAL) hDIB);// 解除鎖定   
   return FALSE;
  }  
  LPLOGPALETTE lpPal = (LPLOGPALETTE) ::GlobalLock((HGLOBAL) hLogPal);  
  
  lpPal->palVersion = 0x300;// 設置調(diào)色板版本號    
  lpPal->palNumEntries = (WORD)wNumColors;// 設置顏色數(shù)目  
  for (iLoop=0; iLoop<(int)wNumColors;iLoop++)// 讀取調(diào)色板
  {   
   lpPal->palPalEntry[iLoop].peRed =lpbminfo->bmiColors[iLoop].rgbRed;// 讀取三原色分量      
   lpPal->palPalEntry[iLoop].peGreen =lpbminfo->bmiColors[iLoop].rgbGreen;       
   lpPal->palPalEntry[iLoop].peBlue =lpbminfo->bmiColors[iLoop].rgbBlue;        
   lpPal->palPalEntry[iLoop].peFlags =0;// 保留位   
  }  
  bSuccess=pPal->CreatePalette(lpPal);// 按照邏輯調(diào)色板創(chuàng)建調(diào)色板,并返回指針   
  ::GlobalUnlock((HGLOBAL) hLogPal);// 解除鎖定    
  ::GlobalFree((HGLOBAL) hLogPal);// 釋放邏輯調(diào)色板
 }  
 ::GlobalUnlock((HGLOBAL) hDIB);// 解除鎖定  
 return bSuccess;// 返回結果
}

/*************************************************************************
 * 函數(shù)名稱:GetBits(LPSTR lpdib)
 * 函數(shù)參數(shù):
 *   LPSTR lpdib,指向DIB對象的指針
 * 函數(shù)類型:LPSTR
 * 函數(shù)功能:計算DIB像素的起始位置,并返回指向它的指針
 ************************************************************************/

LPSTR CDib::GetBits(LPSTR lpdib)
{
 return (lpdib + ((LPBITMAPINFOHEADER)lpdib)->biSize+GetPalSize(lpdib));
// return (lpdib + *(LPDWORD)lpdib+GetPalSize(lpdib));
}

/*************************************************************************
 * 函數(shù)名稱:GetWidth(LPSTR lpdib)
 * 函數(shù)參數(shù):
 *   LPSTR lpdib,指向DIB對象的指針
 * 函數(shù)類型:DWORD
 * 函數(shù)功能:該函數(shù)返回DIB中圖象的寬度
 ************************************************************************/

DWORD CDib::GetWidth(LPSTR lpdib)
{
 return ((LPBITMAPINFOHEADER)lpdib)->biWidth;//返回DIB寬度
}


/*************************************************************************
 * 函數(shù)名稱:GetHeight(LPSTR lpdib)
 * 函數(shù)參數(shù):
 *   LPSTR lpdib ,指向DIB對象的指針
 * 函數(shù)類型:DWORD
 * 函數(shù)功能:該函數(shù)返回DIB中圖象的高度
 ************************************************************************/


DWORD CDib::GetHeight(LPSTR lpdib)
{
 return ((LPBITMAPINFOHEADER)lpdib)->biHeight;//返回DIB高度

}
/*************************************************************************
 * 函數(shù)名稱:GetPalSize(LPSTR lpdib)
 * 函數(shù)參數(shù):
 *   LPSTR lpdib,指向DIB對象的指針
 * 函數(shù)類型:WORD
 * 函數(shù)功能:該函數(shù)返回DIB中調(diào)色板的大小
 ************************************************************************/

WORD CDib::GetPalSize(LPSTR lpdib)

 return (WORD)(GetColorNum(lpdib) * sizeof(RGBQUAD));// 計算DIB中調(diào)色板的大小
}

/*************************************************************************
 * 函數(shù)名稱:GetColorNum(LPSTR lpdib)
 * 函數(shù)參數(shù):
 *   LPSTR lpdib,指向DIB對象的指針
 * 函數(shù)類型:WORD
 * 函數(shù)功能:該函數(shù)返回DIB中調(diào)色板的顏色的種數(shù)
 ************************************************************************/
WORD CDib::GetColorNum(LPSTR lpdib)

 long dwClrUsed = ((LPBITMAPINFOHEADER)lpdib)->biClrUsed; // 讀取dwClrUsed值 
 
 if (dwClrUsed != 0)
 {   
  return (WORD)dwClrUsed;// 如果dwClrUsed不為0,直接返回該值
 }
 else
 {
  dwClrUsed=(long)pow(2,24);
  return (WORD)dwClrUsed;
 }
}

/*************************************************************************
 * 函數(shù)名稱:GetBitCount(LPSTR lpdib)
 * 函數(shù)參數(shù):
 *   LPSTR lpdib,指向DIB對象的指針
 * 函數(shù)類型:WORD
 * 函數(shù)功能:該函數(shù)返回DIBBitCount
 ************************************************************************/
WORD CDib::GetBitCount(LPSTR lpdib)
{
 return ((LPBITMAPINFOHEADER)lpdib)->biBitCount;// 返回位寬
}


/*************************************************************************
 * 函數(shù)名稱:LoadFile(CFile& file)
 * 函數(shù)參數(shù):
 *   CFile& file,要讀取得文件文件CFile
 * 函數(shù)類型:HGLOBAL
 * 函數(shù)功能:將指定的文件中的DIB對象讀到指定的內(nèi)存區(qū)域中
 *************************************************************************/

HGLOBAL CDib::LoadFile(CFile& file)
{

 DWORD dwFileSize;
 
 dwFileSize= file.GetLength();//獲取文件大小 
 if (file.Read((LPSTR)&bmfHeader, sizeof(bmfHeader)) != sizeof(bmfHeader))// 讀取DIB文件頭
 {  
  return NULL;// 大小不一致,返回NULL
 }
 // 如果文件類型不是"BM",其16進制值為0x4d42,則返回并進行相應錯誤處理
 if (bmfHeader.bfType !=0x4d42)
 {  
  return NULL;// 如果不是則返回NULL
 } 
 m_hDib= (HGLOBAL) ::GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, dwFileSize-sizeof(BITMAPFILEHEADER));// 分配DIB內(nèi)存
 if (m_hDib==NULL)
 {  
  return NULL;// 分配失敗,返回NULL
 }
 /////////////////////////////////////////////////////////////////////////
 //給CDib類的成員變量賦值 
 lpdib = (LPSTR) ::GlobalLock((HGLOBAL) m_hDib);// 鎖定 
 if (file.ReadHuge(lpdib, dwFileSize - sizeof(BITMAPFILEHEADER)) !=// 讀像素
  dwFileSize - sizeof(BITMAPFILEHEADER) )//大小不一致
 {     
  ::GlobalUnlock((HGLOBAL) m_hDib); // 解除鎖定   
  ::GlobalFree((HGLOBAL) m_hDib); // 釋放內(nèi)存
  return NULL;
 }  
 ::GlobalUnlock((HGLOBAL) m_hDib);// 解除鎖定  
 return m_hDib;// 返回DIB句柄
}

/*************************************************************************
 * 函數(shù)名稱:GetReqByteWidth(int bits)
 * 函數(shù)參數(shù):
 *   int bits,位數(shù)
 * 函數(shù)類型:int
 * 函數(shù)功能:獲取需要的行字節(jié)數(shù),應為4的倍數(shù)
 *************************************************************************/
int  CDib::GetReqByteWidth(int bits)
{
 int getBytes=(bits + 31) / 32 * 4;
 return  getBytes;
}

/*************************************************************************
 * 函數(shù)名稱:GetRectWidth(LPCRECT lpRect)
 * 函數(shù)參數(shù):
 *   LPCRECT lpRect,指向矩形區(qū)域的指針
 * 函數(shù)類型:long
 * 函數(shù)功能:獲取矩形區(qū)域的寬度
 *************************************************************************/

long  CDib::GetRectWidth(LPCRECT lpRect)
{
 long nWidth=lpRect->right - lpRect->left;
 return nWidth;
}
/*************************************************************************
 * 函數(shù)名稱:GetRectHeight(LPCRECT lpRect)
 * 函數(shù)參數(shù):
 *   LPCRECT lpRect,指向矩形區(qū)域的指針
 * 函數(shù)類型:long
 * 函數(shù)功能:獲取矩形區(qū)域的高度
 *************************************************************************/
long  CDib::GetRectHeight(LPCRECT lpRect)
{
 long nHeight=lpRect->bottom - lpRect->top;
 return nHeight;
}

/*************************************************************************
 * 函數(shù)名稱:InitMembers()
 * 函數(shù)類型: void
 * 函數(shù)功能:初始化類的成員變量
 *************************************************************************/
void CDib::InitMembers()
{
 m_hDib=NULL;
 lpdib=NULL;
 lpDIBBits=NULL;
}

/*************************************************************************
 * 函數(shù)名稱:ClearMemory()
 * 函數(shù)類型: void
 * 函數(shù)功能:復位類的成員變量
 *************************************************************************/
void CDib::ClearMemory()
{
 if(m_hDib!=NULL)
  ::GlobalFree(m_hDib);
 lpdib=NULL;
}

/*************************************************************************
 * 函數(shù)名稱:SaveFile(HGLOBAL hDib, CFile& file)
 * 函數(shù)參數(shù):
 *   HGLOBAL hDib,要保存的DIB
 *   CFile& file,保存文件CFile
 * 函數(shù)類型:BOOL
 * 函數(shù)功能:將指定的DIB對象保存到指定的CFile中
 *************************************************************************/

BOOL CDib::SaveFile(HGLOBAL hDib, CFile& file)
{
 if (hDib == NULL)
 {  
  return FALSE;// 如果DIB為空,返回FALSE
 } 
 lpbmihrd = (LPBITMAPINFOHEADER) ::GlobalLock((HGLOBAL) hDib);// 讀取BITMAPINFO結構,并鎖定 
 if (lpbmihrd == NULL)
 {  
  return FALSE;// 為空,返回FALSE
 }  
 bmfHeader.bfType ='BM'; // 填充文件頭 
 dwDIBSize = *(LPDWORD)lpbmihrd + GetPalSize((LPSTR)lpbmihrd);// 文件頭大?。伾泶笮?nbsp;  
 DWORD dwBmBitsSize;// 像素的大小  
 dwBmBitsSize =GetReqByteWidth((lpbmihrd->biWidth)*((DWORD)lpbmihrd->biBitCount)) * lpbmihrd->biHeight;// 大小為Width * Height  
 dwDIBSize += dwBmBitsSize;// 計算后DIB每行字節(jié)數(shù)為4的倍數(shù)時的大小
 lpbmihrd->biSizeImage = dwBmBitsSize;// 更新biSizeImage 
 bmfHeader.bfSize = dwDIBSize + sizeof(BITMAPFILEHEADER);// 文件大小  
 bmfHeader.bfReserved1 = 0;// 兩個保留字
 bmfHeader.bfReserved2 = 0;
 bmfHeader.bfOffBits = (DWORD)sizeof(BITMAPFILEHEADER) + lpbmihrd->biSize// 計算偏移量bfOffBits
       + GetPalSize((LPSTR)lpbmihrd);
 file.Write(&bmfHeader, sizeof(BITMAPFILEHEADER));// 寫文件頭    
 file.WriteHuge(lpbmihrd, dwDIBSize);// 寫DIB頭和像素
 
 ::GlobalUnlock((HGLOBAL) hDib);// 解除鎖定 
 return TRUE;// 返回TRUE
}

posted on 2008-02-03 18:26 cpsprogramer 閱讀(13644) 評論(8)  編輯 收藏 引用

FeedBack:
# re: CDib類 2008-02-18 09:44 wangjs
為什么要用GlobalAlloc,而不用其它的內(nèi)存管理函數(shù)?  回復  更多評論
  
# re: CDib類 2008-03-12 21:45 foxtial
我寫了一個不用GlobalAlloc函數(shù)的 直接純c++編寫的。等做好后發(fā)表出來。不過這種庫網(wǎng)上太多太爛。而且有很多開源項目,比如EsayBMP就已經(jīng)比較好了@wangjs
  回復  更多評論
  
# re: CDib類 2008-03-30 09:53 zhangpei
我從網(wǎng)上下了一個CDib類卻不知道該怎么用,樓主有能說一下你的QQ嗎?我們交流一下啊,  回復  更多評論
  
# re: CDib類[未登錄] 2008-04-10 01:00 panda
這個類讀不了OS2版本的位圖,稍稍改一下可能更好。  回復  更多評論
  
# re: CDib類 2009-03-20 17:13 =lfei=
這個CDib類怎么從資源里裝載一個BMP位圖并顯示呀、給一下代碼好嗎?
提示: error C2664: “CDib::LoadFile” : 不能將參數(shù) 1 從“CDC *__w64 ”轉(zhuǎn)換為“CFile &”
  回復  更多評論
  
# re: CDib類 2009-03-24 11:22 愛愛愛
@=lfei=
給我你的郵箱~  回復  更多評論
  
# re: CDib類 2009-06-18 07:03 =lfei=
@=lfei=
@愛愛愛
我的郵箱:
lfeinv@sina.com
謝謝你!@_@  回復  更多評論
  
# re: CDib類[未登錄] 2009-08-29 12:44 amu
請問怎么用VC++實現(xiàn)數(shù)據(jù)成像,例如這樣的一組數(shù)
1 ,2, 3, 4, 5
2 ,5, 3, 6, 9
7 ,5, 2, 9, 4
6, 7, 3, 2, 5
4, 8, 6, 2, 1
顯示為灰度圖。這個CDIB類能實現(xiàn)嗎?能不能給點代碼?謝謝!  回復  更多評論
  

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              欧美一区午夜精品| 性久久久久久久久久久久| 欧美一区二区三区男人的天堂| 欧美.com| 亚洲国产精品成人一区二区 | 女仆av观看一区| 亚洲三级免费电影| 欧美电影在线免费观看网站| 国内激情久久| 久久久精品动漫| 亚洲欧美另类国产| 国产午夜亚洲精品羞羞网站| 欧美亚洲综合在线| 亚洲综合二区| 国产精品一区二区久激情瑜伽| 亚洲一区国产一区| 国产精品99久久久久久宅男| 国产精品草草| 亚洲欧美中文字幕| 亚洲欧美日韩人成在线播放| 国产精品一区二区男女羞羞无遮挡 | 欧美日韩亚洲成人| 亚洲老司机av| 日韩视频第一页| 欧美午夜一区二区| 久久精彩免费视频| 久久精品av麻豆的观看方式| 在线免费观看一区二区三区| 欧美国产第一页| 欧美日韩 国产精品| 一区二区欧美激情| 亚洲一区自拍| 雨宫琴音一区二区在线| 欧美福利在线| 欧美日韩免费看| 亚洲欧美日韩国产一区二区| 午夜视频一区| 最新国产成人在线观看| 亚洲精品国产欧美| 国产精品美女久久| 免费观看亚洲视频大全| 久久久欧美一区二区| 99国产精品久久| 亚洲欧美日韩精品综合在线观看| 国产一二三精品| 亚洲精品1234| 国产一区二区成人久久免费影院| 免费看的黄色欧美网站| 欧美高清免费| 亚洲一区在线直播| 久久综合中文字幕| 日韩视频在线一区二区| 亚洲欧美电影院| 亚洲日本中文字幕| 亚洲欧美久久| 一本久久综合亚洲鲁鲁| 久久精品二区亚洲w码| 中文在线资源观看网站视频免费不卡 | 国内精品伊人久久久久av一坑| 日韩一区二区免费看| 亚洲精选在线观看| 噜噜噜躁狠狠躁狠狠精品视频| 久久精品国产综合精品| 国产精自产拍久久久久久| 在线视频一区观看| 一区二区三区四区蜜桃| 欧美日韩1区2区3区| 亚洲区一区二| 在线综合+亚洲+欧美中文字幕| 欧美激情欧美激情在线五月| 欧美激情按摩| 亚洲日本一区二区三区| 欧美ab在线视频| 亚洲国产精品久久人人爱蜜臀 | 在线观看日产精品| 久久伊人亚洲| 欧美激情小视频| 亚洲乱亚洲高清| 欧美日韩亚洲高清| 亚洲午夜极品| 久久日韩精品| 亚洲电影在线播放| 欧美屁股在线| 亚洲视频欧美在线| 欧美在线日韩| 在线看不卡av| 欧美日韩国产影片| 亚洲伊人观看| 美日韩精品视频免费看| 日韩午夜精品视频| 国产精品亚洲视频| 久久综合中文字幕| 亚洲精品一区二区三区在线观看 | 亚洲国产视频一区二区| 欧美精品在线观看| 亚洲直播在线一区| 欧美sm视频| 亚洲视频免费| 在线免费观看日本欧美| 欧美精品二区| 欧美一级久久久| 亚洲黄色免费电影| 亚洲欧美制服另类日韩| 一色屋精品视频免费看| 欧美精品一区在线观看| 欧美一区二区精品在线| 亚洲国产日韩欧美| 欧美呦呦网站| 一本大道av伊人久久综合| 国产真实乱偷精品视频免| 欧美日韩八区| 久久久精品日韩| 亚洲视频精品| 亚洲国产精品美女| 久久久久久久精| 亚洲自拍偷拍色片视频| 亚洲国产精品一区二区第四页av| 国产精品盗摄久久久| 久久久无码精品亚洲日韩按摩| 一本综合久久| 亚洲福利一区| 美女主播一区| 欧美在线999| 亚洲一区中文字幕在线观看| 亚洲黄色成人久久久| 国产亚洲精品久久飘花| 国产精品www994| 欧美日韩1区2区3区| 美腿丝袜亚洲色图| 久久久99爱| 欧美在线观看一区| 亚洲免费视频中文字幕| 一区二区三区高清视频在线观看 | av成人免费在线观看| 亚洲国产91| 亚洲第一二三四五区| 国内外成人在线视频| 国产欧美精品在线| 国产精品久久久久久久久久直播 | 老司机免费视频一区二区| 亚洲男女毛片无遮挡| 亚洲一区二区成人在线观看| 一本色道久久综合亚洲91| 亚洲人成小说网站色在线 | 亚洲一二三区在线观看| 9国产精品视频| 中文在线资源观看视频网站免费不卡| 亚洲欧洲综合| 日韩午夜电影在线观看| 亚洲国产婷婷综合在线精品 | 99精品热视频只有精品10| 亚洲另类视频| 99热这里只有成人精品国产| 一区二区三区国产精华| 亚洲午夜激情网站| 亚洲欧美中文另类| 久久精品亚洲一区二区| 裸体丰满少妇做受久久99精品| 久久中文精品| 亚洲国产精品久久久久婷婷884| 亚洲国产精彩中文乱码av在线播放| 欧美成人a∨高清免费观看| 亚洲电影观看| 夜夜精品视频| 亚洲欧美日韩一区二区在线| 性色av一区二区三区红粉影视| 欧美在线视频不卡| 嫩草成人www欧美| 欧美特黄一级大片| 国产一区二区三区黄| 亚洲国产精品一区二区第四页av| 日韩一区二区电影网| 午夜精品久久久久影视| 久久一区二区精品| 亚洲三级影片| 午夜精品久久久久99热蜜桃导演| 久久久久久尹人网香蕉| 欧美激情一区二区三区全黄| 欧美日韩免费在线观看| 国产视频丨精品|在线观看| 亚洲激情一区二区| 午夜一级久久| 欧美激情一区二区在线 | 一区二区三区四区五区视频 | 日韩午夜精品视频| 欧美影院在线播放| 欧美日韩ab| 韩日欧美一区二区三区| 在线综合亚洲欧美在线视频| 久久精品最新地址| 亚洲毛片播放| 久久亚洲精品欧美| 国产精品视频999| 亚洲免费精彩视频| 久久久久成人精品| 一卡二卡3卡四卡高清精品视频| 久久精品视频va| 国产精品你懂的在线欣赏| 亚洲国产高清aⅴ视频| 欧美在线播放|