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

c++初學(xué)者

專注技術(shù)開(kāi)發(fā)

(轉(zhuǎn)) bmp圖文件結(jié)構(gòu)

位圖文件可看成由4個(gè)部分組成:位圖文件頭(bitmap-file header)、位圖信息頭(bitmap-information header)、彩色表(color table)和定義位圖的字節(jié)陣列,它具有如下所示的形式。

位圖文件的組成

結(jié)構(gòu)名稱

符號(hào)

位圖文件頭(bitmap-file header) BITMAPFILEHEADER bmfh
位圖信息頭(bitmap-information header) BITMAPINFOHEADER bmih
彩色表(color table) RGBQUAD aColors[]
圖象數(shù)據(jù)陣列字節(jié) BYTE aBitmapBits[]

位圖文件結(jié)構(gòu)可綜合在表6-01中。

表01 位圖文件結(jié)構(gòu)內(nèi)容摘要

 

偏移量

域的名稱

大小

內(nèi)容

 

 

 

圖象文件

0000h 文件標(biāo)識(shí) 2 bytes 兩字節(jié)的內(nèi)容用來(lái)識(shí)別位圖的類型:

‘BM’ : Windows 3.1x, 95, NT, …

‘BA’ :OS/2 Bitmap Array

‘CI’ :OS/2 Color Icon

‘CP’ :OS/2 Color Pointer

‘IC’ : OS/2 Icon

‘PT’ :OS/2 Pointer

注:因?yàn)镺S/2系統(tǒng)并沒(méi)有被普及開(kāi),所以在編程時(shí),你只需判斷第一個(gè)標(biāo)識(shí)“BM”就行。

  0002h File Size 1 dword 用字節(jié)表示的整個(gè)文件的大小
  0006h Reserved 1 dword 保留,必須設(shè)置為0
  000Ah Bitmap Data Offset 1 dword 從文件開(kāi)始到位圖數(shù)據(jù)開(kāi)始之間的數(shù)據(jù)(bitmap data)之間的偏移量
  000Eh Bitmap Header Size 1 dword 位圖信息頭(Bitmap Info Header)的長(zhǎng)度,用來(lái)描述位圖的顏色、壓縮方法等。下面的長(zhǎng)度表示:

28h - Windows 3.1x, 95, NT, …

0Ch - OS/2 1.x

F0h - OS/2 2.x

注:在Windows95、98、2000等操作系統(tǒng)中,位圖信息頭的長(zhǎng)度并不一定是28h,因?yàn)槲④浺呀?jīng)制定出了新的BMP文件格式,其中的信息頭結(jié)構(gòu)變化比較大,長(zhǎng)度加長(zhǎng)。所以最好不要直接使用常數(shù)28h,而是應(yīng)該從具體的文件中讀取這個(gè)值。這樣才能確保程序的兼容性。

  0012h Width 1 dword 位圖的寬度,以象素為單位
  0016h Height 1 dword 位圖的高度,以象素為單位
  001Ah Planes 1 word 位圖的位面數(shù)(注:該值將總是1)

圖象

信息

 

 

001Ch Bits Per Pixel 1 word 每個(gè)象素的位數(shù)

1 - 單色位圖(實(shí)際上可有兩種顏色,缺省情況下是黑色和白色。你可以自己定義這兩種顏色)

4 - 16 色位圖

8 - 256 色位圖

16 - 16bit 高彩色位圖

24 - 24bit 真彩色位圖

32 - 32bit 增強(qiáng)型真彩色位圖

  001Eh Compression 1 dword 壓縮說(shuō)明:

0 - 不壓縮 (使用BI_RGB表示)

1 - RLE 8-使用8位RLE壓縮方式(用BI_RLE8表示)

2 - RLE 4-使用4位RLE壓縮方式(用BI_RLE4表示)

3 - Bitfields-位域存放方式(用BI_BITFIELDS表示)

  0022h Bitmap Data Size 1 dword 用字節(jié)數(shù)表示的位圖數(shù)據(jù)的大小。該數(shù)必須是4的倍數(shù)
  0026h HResolution 1 dword 用象素/米表示的水平分辨率
  002Ah VResolution 1 dword 用象素/米表示的垂直分辨率
  002Eh Colors 1 dword 位圖使用的顏色數(shù)。如8-比特/象素表示為100h或者 256.
  0032h Important Colors 1 dword 指定重要的顏色數(shù)。當(dāng)該域的值等于顏色數(shù)時(shí)(或者等于0時(shí)),表示所有顏色都一樣重要
調(diào)色板數(shù)據(jù) 根據(jù)BMP版本的不同而不同 Palette N * 4 byte 調(diào)色板規(guī)范。對(duì)于調(diào)色板中的每個(gè)表項(xiàng),這4個(gè)字節(jié)用下述方法來(lái)描述RGB的值:
1字節(jié)用于藍(lán)色分量
1字節(jié)用于綠色分量
1字節(jié)用于紅色分量
1字節(jié)用于填充符(設(shè)置為0)
圖象數(shù)據(jù) 根據(jù)BMP版本及調(diào)色板尺寸的不同而不同 Bitmap Data xxx bytes 該域的大小取決于壓縮方法及圖像的尺寸和圖像的位深度,它包含所有的位圖數(shù)據(jù)字節(jié),這些數(shù)據(jù)可能是彩色調(diào)色板的索引號(hào),也可能是實(shí)際的RGB值,這將根據(jù)圖像信息頭中的位深度值來(lái)決定。

構(gòu)件詳解

1. 位圖文件頭

位圖文件頭包含有關(guān)于文件類型、文件大小、存放位置等信息,在Windows 3.0以上版本的位圖文件中用BITMAPFILEHEADER結(jié)構(gòu)來(lái)定義:

typedef struct tagBITMAPFILEHEADER { /* bmfh */

UINT bfType;
DWORD bfSize;
UINT bfReserved1;
UINT bfReserved2;
DWORD bfOffBits;

} BITMAPFILEHEADER;

 

其中:

bfType

說(shuō)明文件的類型.(該值必需是0x4D42,也就是字符’BM’。我們不需要判斷OS/2的位圖標(biāo)識(shí),這么做現(xiàn)在來(lái)看似乎已經(jīng)沒(méi)有什么意義了,而且如果要支持OS/2的位圖,程序?qū)⒆兊煤芊爆崱K裕诖酥唤ㄗh你檢察’BM’標(biāo)識(shí))

bfSize

說(shuō)明文件的大小,用字節(jié)為單位

bfReserved1

保留,必須設(shè)置為0

bfReserved2

保留,必須設(shè)置為0

bfOffBits

說(shuō)明從文件頭開(kāi)始到實(shí)際的圖象數(shù)據(jù)之間的字節(jié)的偏移量。這個(gè)參數(shù)是非常有用的,因?yàn)槲粓D信息頭和調(diào)色板的長(zhǎng)度會(huì)根據(jù)不同情況而變化,所以你可以用這個(gè)偏移值迅速的從文件中讀取到位數(shù)據(jù)。

2. 位圖信息頭

位圖信息用BITMAPINFO結(jié)構(gòu)來(lái)定義,它由位圖信息頭(bitmap-information header)和彩色表(color table)組成,前者用BITMAPINFOHEADER結(jié)構(gòu)定義,后者用RGBQUAD結(jié)構(gòu)定義。BITMAPINFO結(jié)構(gòu)具有如下形式:

typedef struct tagBITMAPINFO { /* bmi */

BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];

} BITMAPINFO;

 

其中:

bmiHeader

說(shuō)明BITMAPINFOHEADER結(jié)構(gòu),其中包含了有關(guān)位圖的尺寸及位格式等信息

bmiColors

說(shuō)明彩色表RGBQUAD結(jié)構(gòu)的陣列,其中包含索引圖像的真實(shí)RGB值。

BITMAPINFOHEADER結(jié)構(gòu)包含有位圖文件的大小、壓縮類型和顏色格式,其結(jié)構(gòu)定義為:

typedef struct tagBITMAPINFOHEADER { /* bmih */

DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;

} BITMAPINFOHEADER;

 

其中:

biSize

說(shuō)明BITMAPINFOHEADER結(jié)構(gòu)所需要的字?jǐn)?shù)。注:這個(gè)值并不一定是BITMAPINFOHEADER結(jié)構(gòu)的尺寸,它也可能是sizeof(BITMAPV4HEADER)的值,或是sizeof(BITMAPV5HEADER)的值。這要根據(jù)該位圖文件的格式版本來(lái)決定,不過(guò),就現(xiàn)在的情況來(lái)看,絕大多數(shù)的BMP圖像都是BITMAPINFOHEADER結(jié)構(gòu)的(可能是后兩者太新的緣故吧:-)。

biWidth

說(shuō)明圖象的寬度,以象素為單位

biHeight

說(shuō)明圖象的高度,以象素為單位。注:這個(gè)值除了用于描述圖像的高度之外,它還有另一個(gè)用處,就是指明該圖像是倒向的位圖,還是正向的位圖。如果該值是一個(gè)正數(shù),說(shuō)明圖像是倒向的,如果該值是一個(gè)負(fù)數(shù),則說(shuō)明圖像是正向的。大多數(shù)的BMP文件都是倒向的位圖,也就是時(shí),高度值是一個(gè)正數(shù)。(注:當(dāng)高度值是一個(gè)負(fù)數(shù)時(shí)(正向圖像),圖像將不能被壓縮(也就是說(shuō)biCompression成員將不能是BI_RLE8或BI_RLE4)。

biPlanes

為目標(biāo)設(shè)備說(shuō)明位面數(shù),其值將總是被設(shè)為1

biBitCount

說(shuō)明比特?cái)?shù)/象素,其值為1、4、8、16、24、或32

biCompression

說(shuō)明圖象數(shù)據(jù)壓縮的類型。其值可以是下述值之一:
BI_RGB:沒(méi)有壓縮;
BI_RLE8:每個(gè)象素8比特的RLE壓縮編碼,壓縮格式由2字節(jié)組成(重復(fù)象素計(jì)數(shù)和顏色索引);
BI_RLE4:每個(gè)象素4比特的RLE壓縮編碼,壓縮格式由2字節(jié)組成
BI_BITFIELDS:每個(gè)象素的比特由指定的掩碼決定。

biSizeImage

說(shuō)明圖象的大小,以字節(jié)為單位。當(dāng)用BI_RGB格式時(shí),可設(shè)置為0

biXPelsPerMeter

說(shuō)明水平分辨率,用象素/米表示

biYPelsPerMeter

說(shuō)明垂直分辨率,用象素/米表示

biClrUsed

說(shuō)明位圖實(shí)際使用的彩色表中的顏色索引數(shù)(設(shè)為0的話,則說(shuō)明使用所有調(diào)色板項(xiàng))

biClrImportant

說(shuō)明對(duì)圖象顯示有重要影響的顏色索引的數(shù)目,如果是0,表示都重要。

現(xiàn)就BITMAPINFOHEADER結(jié)構(gòu)作如下說(shuō)明:

(1) 彩色表的定位

應(yīng)用程序可使用存儲(chǔ)在biSize成員中的信息來(lái)查找在BITMAPINFO結(jié)構(gòu)中的彩色表,如下所示:

pColor = ((LPSTR) pBitmapInfo + (WORD) (pBitmapInfo->bmiHeader.biSize))

(2) biBitCount

biBitCount=1 表示位圖最多有兩種顏色,缺省情況下是黑色和白色,你也可以自己定義這兩種顏色。圖像信息頭裝調(diào)色板中將有兩個(gè)調(diào)色板項(xiàng),稱為索引0和索引1。圖象數(shù)據(jù)陣列中的每一位表示一個(gè)象素。如果一個(gè)位是0,顯示時(shí)就使用索引0的RGB值,如果位是1,則使用索引1的RGB值。

biBitCount=4 表示位圖最多有16種顏色。每個(gè)象素用4位表示,并用這4位作為彩色表的表項(xiàng)來(lái)查找該象素的顏色。例如,如果位圖中的第一個(gè)字節(jié)為0x1F,它表示有兩個(gè)象素,第一象素的顏色就在彩色表的第2表項(xiàng)中查找,而第二個(gè)象素的顏色就在彩色表的第16表項(xiàng)中查找。此時(shí),調(diào)色板中缺省情況下會(huì)有16個(gè)RGB項(xiàng)。對(duì)應(yīng)于索引0到索引15。

biBitCount=8 表示位圖最多有256種顏色。每個(gè)象素用8位表示,并用這8位作為彩色表的表項(xiàng)來(lái)查找該象素的顏色。例如,如果位圖中的第一個(gè)字節(jié)為0x1F,這個(gè)象素的顏色就在彩色表的第32表項(xiàng)中查找。此時(shí),缺省情況下,調(diào)色板中會(huì)有256個(gè)RGB項(xiàng),對(duì)應(yīng)于索引0到索引255。

biBitCount=16 表示位圖最多有216種顏色。每個(gè)色素用16位(2個(gè)字節(jié))表示。這種格式叫作高彩色,或叫增強(qiáng)型16位色,或64K色。它的情況比較復(fù)雜,當(dāng)biCompression成員的值是BI_RGB時(shí),它沒(méi)有調(diào)色板。16位中,最低的5位表示藍(lán)色分量,中間的5位表示綠色分量,高的5位表示紅色分量,一共占用了15位,最高的一位保留,設(shè)為0。這種格式也被稱作555 16位位圖。如果biCompression成員的值是BI_BITFIELDS,那么情況就復(fù)雜了,首先是原來(lái)調(diào)色板的位置被三個(gè)DWORD變量占據(jù),稱為紅、綠、藍(lán)掩碼。分別用于描述紅、綠、藍(lán)分量在16位中所占的位置。在Windows 95(或98)中,系統(tǒng)可接受兩種格式的位域:555和565,在555格式下,紅、綠、藍(lán)的掩碼分別是:0x7C00、0x03E0、0x001F,而在565格式下,它們則分別為:0xF800、0x07E0、0x001F。你在讀取一個(gè)像素之后,可以分別用掩碼“與”上像素值,從而提取出想要的顏色分量(當(dāng)然還要再經(jīng)過(guò)適當(dāng)?shù)淖笥乙撇僮鳎T贜T系統(tǒng)中,則沒(méi)有格式限制,只不過(guò)要求掩碼之間不能有重疊。(注:這種格式的圖像使用起來(lái)是比較麻煩的,不過(guò)因?yàn)樗娘@示效果接近于真彩,而圖像數(shù)據(jù)又比真彩圖像小的多,所以,它更多的被用于游戲軟件)。

biBitCount=24 表示位圖最多有224種顏色。這種位圖沒(méi)有調(diào)色板(bmiColors成員尺寸為0),在位數(shù)組中,每3個(gè)字節(jié)代表一個(gè)象素,分別對(duì)應(yīng)于顏色R、G、B。

biBitCount=32 表示位圖最多有232種顏色。這種位圖的結(jié)構(gòu)與16位位圖結(jié)構(gòu)非常類似,當(dāng)biCompression成員的值是BI_RGB時(shí),它也沒(méi)有調(diào)色板,32位中有24位用于存放RGB值,順序是:最高位—保留,紅8位、綠8位、藍(lán)8位。這種格式也被成為888 32位圖。如果 biCompression成員的值是BI_BITFIELDS時(shí),原來(lái)調(diào)色板的位置將被三個(gè)DWORD變量占據(jù),成為紅、綠、藍(lán)掩碼,分別用于描述紅、綠、藍(lán)分量在32位中所占的位置。在Windows 95(or 98)中,系統(tǒng)只接受888格式,也就是說(shuō)三個(gè)掩碼的值將只能是:0xFF0000、0xFF00、0xFF。而在NT系統(tǒng)中,你只要注意使掩碼之間不產(chǎn)生重疊就行。(注:這種圖像格式比較規(guī)整,因?yàn)樗荄WORD對(duì)齊的,所以在內(nèi)存中進(jìn)行圖像處理時(shí)可進(jìn)行匯編級(jí)的代碼優(yōu)化(簡(jiǎn)單))。

(3) ClrUsed

BITMAPINFOHEADER結(jié)構(gòu)中的成員ClrUsed指定實(shí)際使用的顏色數(shù)目。如果ClrUsed設(shè)置成0,位圖使用的顏色數(shù)目就等于biBitCount成員中的數(shù)目。請(qǐng)注意,如果ClrUsed的值不是可用顏色的最大值或不是0,則在編程時(shí)應(yīng)該注意調(diào)色板尺寸的計(jì)算,比如在4位位圖中,調(diào)色板的缺省尺寸應(yīng)該是16*sizeof(RGBQUAD),但是,如果ClrUsed的值不是16或者不是0,那么調(diào)色板的尺寸就應(yīng)該是ClrUsed*sizeof(RGBQUAD)。

(4) 圖象數(shù)據(jù)壓縮

① BI_RLE8:每個(gè)象素為8比特的RLE壓縮編碼,可使用編碼方式和絕對(duì)方式中的任何一種進(jìn)行壓縮,這兩種方式可在同一幅圖中的任何地方使用。

編碼方式:由2個(gè)字節(jié)組成,第一個(gè)字節(jié)指定使用相同顏色的象素?cái)?shù)目,第二個(gè)字節(jié)指定使用的顏色索引。此外,這個(gè)字節(jié)對(duì)中的第一個(gè)字節(jié)可設(shè)置為0,聯(lián)合使用第二個(gè)字節(jié)的值表示:

第二個(gè)字節(jié)的值為0:行的結(jié)束。
第二個(gè)字節(jié)的值為1:圖象結(jié)束。
第二個(gè)字節(jié)的值為2:其后的兩個(gè)字節(jié)表示下一個(gè)象素從當(dāng)前開(kāi)始的水平和垂直位置的偏移量。

絕對(duì)方式:第一個(gè)字節(jié)設(shè)置為0,而第二個(gè)字節(jié)設(shè)置為0x03~0xFF之間的一個(gè)值。在這種方式中,第二個(gè)字節(jié)表示跟在這個(gè)字節(jié)后面的字節(jié)數(shù),每個(gè)字節(jié)包含單個(gè)象素的顏色索引。壓縮數(shù)據(jù)格式需要字邊界(word boundary)對(duì)齊。下面的例子是用16進(jìn)制表示的8-位壓縮圖象數(shù)據(jù):

03 04 05 06 00 03 45 56 67 00 02 78 00 02 05 01 02 78 00 00 09 1E 00 01
這些壓縮數(shù)據(jù)可解釋為 :

壓縮數(shù)據(jù)

擴(kuò)展數(shù)據(jù)

03 04 04 04 04
05 06 06 06 06 06 06
00 03 45 56 67 00 45 56 67
02 78 78 78
00 02 05 01 從當(dāng)前位置右移5個(gè)位置后向下移一行
02 78 78 78
00 00 行結(jié)束
09 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E
00 01 RLE編碼圖象結(jié)束

② BI_RLE4:每個(gè)象素為4比特的RLE壓縮編碼,同樣也可使用編碼方式和絕對(duì)方式中的任何一種進(jìn)行壓縮,這兩種方式也可在同一幅圖中的任何地方使用。這兩種方式是:

編碼方式:由2個(gè)字節(jié)組成,第一個(gè)字節(jié)指定象素?cái)?shù)目,第二個(gè)字節(jié)包含兩種顏色索引,一個(gè)在高4位,另一個(gè)在低4位。第一個(gè)象素使用高4位的顏色索引,第二個(gè)使用低4位的顏色索引,第3個(gè)使用高4位的顏色索引,依此類推。

絕對(duì)方式:這個(gè)字節(jié)對(duì)中的第一個(gè)字節(jié)設(shè)置為0,第二個(gè)字節(jié)包含有顏色索引數(shù),其后續(xù)字節(jié)包含有顏色索引,顏色索引存放在該字節(jié)的高、低4位中,一個(gè)顏色索引對(duì)應(yīng)一個(gè)象素。此外,BI_RLE4也同樣聯(lián)合使用第二個(gè)字節(jié)中的值表示:

第二個(gè)字節(jié)的值為0:行的結(jié)束。
第二個(gè)字節(jié)的值為1:圖象結(jié)束。
第二個(gè)字節(jié)的值為2:其后的兩個(gè)字節(jié)表示下一個(gè)象素從當(dāng)前開(kāi)始的水平和垂直位置的偏移量。

下面的例子是用16進(jìn)制數(shù)表示的4-位壓縮圖象數(shù)據(jù):

03 04 05 06 00 06 45 56 67 00 04 78 00 02 05 01 04 78 00 00 09 1E 00 01

這些壓縮數(shù)據(jù)可解釋為 :

壓縮數(shù)據(jù)

擴(kuò)展數(shù)據(jù)

03 04 0 4 0
05 06 0 6 0 6 0
00 06 45 56 67 00 4 5 5 6 6 7
04 78 7 8 7 8
00 02 05 01 從當(dāng)前位置右移5個(gè)位置后向下移一行
04 78 7 8 7 8
00 00 行結(jié)束
09 1E 1 E 1 E 1 E 1 E 1
00 01 RLE圖象結(jié)束

3. 彩色表

彩色表包含的元素與位圖所具有的顏色數(shù)相同,象素的顏色用RGBQUAD結(jié)構(gòu)來(lái)定義。對(duì)于24-位真彩色圖象就不使用彩色表(同樣也包括16位、和32位位圖),因?yàn)槲粓D中的RGB值就代表了每個(gè)象素難丈 2噬 碇械難丈 囪丈 鬧匾 耘判潁 飪梢愿ㄖ 允廄 絳蛭 荒芟允咀愎歡嘌丈 南允舊璞趕允靜噬 枷蟆 GBQUAD結(jié)構(gòu)描述由R、G、B相對(duì)強(qiáng)度組成的顏色,定義如下:

typedef struct tagRGBQUAD { /* rgbq */

BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;

} RGBQUAD;

 

其中:

rgbBlue

指定藍(lán)色強(qiáng)度

rgbGreen

指定綠色強(qiáng)度

rgbRed

指定紅色強(qiáng)度

rgbReserved

保留,設(shè)置為0

4. 位圖數(shù)據(jù)

緊跟在彩色表之后的是圖象數(shù)據(jù)字節(jié)陣列。圖象的每一掃描行由表示圖象象素的連續(xù)的字節(jié)組成,每一行的字節(jié)數(shù)取決于圖象的顏色數(shù)目和用象素表示的圖象寬度。掃描行是由底向上存儲(chǔ)的,這就是說(shuō),陣列中的第一個(gè)字節(jié)表示位圖左下角的象素,而最后一個(gè)字節(jié)表示位圖右上角的象素。(只針對(duì)與倒向DIB,如果是正向DIB,則掃描行是由頂向下存儲(chǔ)的),倒向DIB的原點(diǎn)在圖像的左下角,而正向DIB的原點(diǎn)在圖像的左上角。同時(shí),每一掃描行的字節(jié)數(shù)必需是4的整倍數(shù),也就是DWORD對(duì)齊的。如果你想確保圖像的掃描行DWORD對(duì)齊,可使用下面的代碼:

(((width*biBitCount)+31)>>5)<<2

posted on 2008-09-03 18:22 大海 閱讀(1158) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 圖像

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产欧美不卡| 欧美韩日一区| 亚洲影院免费观看| 国产在线欧美| 亚洲国产精品激情在线观看| 久久在线免费观看| 亚洲综合首页| 欧美不卡在线| 久久久999| 国产精品麻豆欧美日韩ww| 鲁大师影院一区二区三区| 欧美日韩一级黄| 亚洲国产精品成人va在线观看| 国产精品日韩精品欧美在线| 欧美激情亚洲| 亚洲黄色影片| 免费成人黄色片| 欧美激情一区二区三区| 亚洲国产精品久久久久婷婷老年| 亚洲欧美精品在线观看| 亚洲欧美一区二区三区在线| 欧美承认网站| 91久久视频| 亚洲午夜精品网| 国产精品a久久久久久| 日韩午夜av在线| 亚洲免费在线| 免费av成人在线| 91久久久国产精品| 国产精品久久久久9999吃药| 亚洲区在线播放| 欧美日韩亚洲系列| 亚洲综合色婷婷| 久久综合九色综合久99| 亚洲人成在线观看| 国产精品久久久久77777| 午夜精品亚洲| 91久久夜色精品国产网站| 这里只有视频精品| 国产亚洲欧洲997久久综合| 久久久久国产精品厨房| 日韩一级黄色大片| 美女性感视频久久久| 一本色道久久88精品综合| 亚洲区一区二区三区| 一本到12不卡视频在线dvd| 国产精品二区在线| 久热精品视频在线观看| 一区二区三区不卡视频在线观看| 玖玖精品视频| 久久久久国产精品午夜一区| 日韩一级不卡| 日韩系列在线| 亚洲国产91| 亚洲电影在线播放| 葵司免费一区二区三区四区五区| 亚洲精品国产系列| 激情丁香综合| 国产视频一区欧美| 国产一区二区0| 国产伦理精品不卡| 国产精品久久久免费| 欧美日韩国产亚洲一区| 欧美第十八页| 欧美—级高清免费播放| 欧美成人激情视频免费观看| 每日更新成人在线视频| 欧美激情a∨在线视频播放| 久久婷婷av| 欧美日韩国产限制| 亚洲欧洲免费视频| 亚洲午夜av电影| 亚洲欧美日本国产有色| 久久免费偷拍视频| 欧美国产三级| 国产女主播一区| 亚洲国产精品va| 亚洲在线成人| 欧美激情四色| 亚洲综合色自拍一区| 另类专区欧美制服同性| 欧美视频在线观看一区| 国产欧美日韩精品在线| 国产精品视频专区| 国产精品多人| 亚洲精品国产品国语在线app| 亚洲欧美一区二区原创| 亚洲第一中文字幕| 欧美在线免费一级片| 欧美日韩国产免费观看| 好吊视频一区二区三区四区| 亚洲免费伊人电影在线观看av| 久久琪琪电影院| 午夜精品理论片| 国产精品久久久久久久久果冻传媒| 亚洲国产精品尤物yw在线观看| 日韩视频一区二区在线观看 | 欧美a级片网站| 国产精品一级二级三级| 一区二区av在线| 欧美国产日韩a欧美在线观看| 99精品99久久久久久宅男| 久久在线精品| 亚洲激情欧美激情| 亚洲第一福利视频| 欧美麻豆久久久久久中文| 性色av一区二区三区红粉影视| 欧美激情综合五月色丁香| 亚洲三级毛片| 9人人澡人人爽人人精品| 欧美日韩午夜精品| 午夜精品久久久久久久久久久久久 | 欧美a级理论片| 亚洲男人的天堂在线aⅴ视频| 一本色道久久综合亚洲精品按摩 | 久久尤物视频| 亚洲性xxxx| 久久亚洲捆绑美女| 亚洲小说区图片区| 美日韩在线观看| 欧美一级电影久久| 久久久另类综合| 午夜亚洲激情| 欧美日韩精品免费观看视一区二区| 欧美在线高清视频| 欧美黑人多人双交| 久久久亚洲国产天美传媒修理工| 欧美激情第10页| 久久婷婷一区| 国产精品无人区| 亚洲一级高清| 欧美亚洲日本国产| 久久精品女人天堂| 国产日韩欧美电影在线观看| 一本到高清视频免费精品| 亚洲美女在线观看| 女女同性女同一区二区三区91| 欧美在线视频免费观看| 国产精品一区视频网站| 欧美99在线视频观看| 国产一区二区三区久久悠悠色av | 亚洲国产精品一区在线观看不卡| 亚洲免费在线播放| 午夜在线视频一区二区区别| 欧美网站在线| 亚洲欧美在线另类| 久久久久久久999精品视频| 国产精品免费网站| 欧美国产免费| 99国产精品久久久久久久成人热 | 亚洲精一区二区三区| 欧美激情一区二区在线 | 久久激情五月婷婷| 在线精品国精品国产尤物884a| 小黄鸭精品密入口导航| 另类春色校园亚洲| 亚洲精品综合久久中文字幕| 欧美午夜大胆人体| 久久久噜噜噜久久久| 亚洲欧洲日本在线| 国内精品美女av在线播放| 美女视频一区免费观看| 在线观看欧美成人| 美女亚洲精品| 亚洲影院色在线观看免费| 亚洲第一区色| 欧美一区二区三区在线观看| 亚洲成人直播| 国产视频欧美视频| 欧美另类99xxxxx| 久久综合一区二区| 欧美一区二区三区四区视频| 中日韩在线视频| 一级日韩一区在线观看| 亚洲国产视频一区| 欧美国产日韩一区二区| 久久婷婷色综合| 久久婷婷av| 日韩一本二本av| 欧美丰满少妇xxxbbb| 噜噜噜躁狠狠躁狠狠精品视频| 欧美亚洲网站| 欧美综合77777色婷婷| 亚洲在线观看| 欧美在线中文字幕| 欧美丰满少妇xxxbbb| 嫩模写真一区二区三区三州| 久久久久久**毛片大全| 久久亚洲一区二区| 欧美精品国产精品日韩精品| 欧美日韩黄视频| 国产精品女人网站| 国产一区日韩欧美| 亚洲区一区二| 国产精品99久久久久久宅男| 午夜精品电影| 欧美国产综合视频| 亚洲伊人伊色伊影伊综合网| 久久色中文字幕| 欧美日本高清|