日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python已知横版求竖版_python3一键排版证件照(一寸照、二寸照),附源代码

發(fā)布時間:2024/3/24 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python已知横版求竖版_python3一键排版证件照(一寸照、二寸照),附源代码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

又到了一年一度辦公園年卡的日子了,每年需要一張一寸照片,庫存今年告罄

如果拿著一寸照片去沖印,商家那個沖印的價格可比沖印普通照片不知道貴了多少唄(目測10倍以上)

其實是一樣的相紙啊

于是乎,為了省這點錢就自己排版好了

如果選用工具的話,不會ps的推薦“光影魔術(shù)手v3.1.2”(最新版感覺不太好用)

but,作為一個技術(shù)宅,我當然是選擇自己來實現(xiàn)啦!

話不多說,說干就干

思路:

1. 首先需要一張已經(jīng)拍攝好的證件照,尺寸比例可以不完全按照標準

2. 按比例裁剪(1寸、2寸的比例不同)

3. 縮放到標準尺寸

4. 排版到5寸或者6寸照片上

照片尺寸:寬*高(單位:像素)

1寸照片:295*413

2寸照片:413*626

5寸照片(橫版):1500*1050

6寸照片(橫版):1800*1200

環(huán)境:

python3 + pillow庫

具體操作:

1. 裁剪

以1寸照片為例,其高:寬 = 1.4,為了使原始照片不失真,應(yīng)該按照這個1.4的比例進行裁剪

若大于1.4說明高度多了,需要進行上下裁剪;若小于1.4說明寬度多了,需要進行左右裁剪。這里的裁剪均是對稱平均裁剪

Image.crop((left, up, right, below))

參數(shù):

需要四個參數(shù),分別是目標照片的四個邊線距離左邊和上邊的距離

值得注意的是:參數(shù)是一個元組,因此看起來有兩對括號!

2. 縮放

將已經(jīng)調(diào)整好比例的照片進行標準縮放,標準如下(單位:像素):

1寸照片:295*413

2寸照片:413*626

Image.resize(width, height)

參數(shù):

width:寬

heght:高

3. 排版

先想好沖印5寸照片還是6寸照片,以及是需要1寸、2寸還是混合排版

這兩個因素都會影響到排版問題,主要是橫or豎的問題

以5寸照片上排版1寸照片為例(5寸橫版,1寸豎版,2*4排列),是這樣滴:

在排列之前,我細心的用畫筆畫出了裁剪線,這樣手殘的人再也不用哆哆嗦嗦剪歪了

bk = Image.new("RGB", [WIDTH_5IN,HEIGHT_5IN], (255,255,255))#創(chuàng)建一個5寸大小的,白色背景的畫板

draw = ImageDraw.Draw(bk)#創(chuàng)建畫筆

draw.line([(0,HEIGHT_5IN/2),(WIDTH_5IN,HEIGHT_5IN/2)],fill=128) #橫線,fill是填充顏色

新建畫板就不多講了,注意一下參數(shù)的位置,先寬后高,顏色參數(shù)其實有多種寫法

這里主要講一下怎么在畫板上畫線,其實是需要起點坐標和終點坐標,坐標原點是畫板左上角,橫軸向右x,縱軸向下y

還是畫個圖更直觀

注意坐標的寫法?[(起點x,起點y),(終點x,終點y)],坐標點必須為int類型

我這個畫完是這樣嘞:

然后就是把照片貼上去,注意要放在每個“格子”的中心呦

Image.paste(photo, (photo左上角坐標))

因此,我們需要計算單個1寸照片在整個畫板里左上角坐標,還是畫個圖說明下:

先求每個小格子里中心點focus_point的坐標,然后根據(jù)1寸照片的大小求左上角坐標start_point

然后根據(jù)每個start_point循環(huán)把照片貼上去就好啦!

我生成的是這樣嘞,看起來很完美啊!

同理,5寸照片排版2寸的。這里注意新建畫板時候的尺寸,因為相當于是豎版照片

5寸照片混合排列1寸、2寸的:

這里注意一下:

2寸照片旋轉(zhuǎn)了90度,用到的函數(shù)中,參數(shù)必須寫上expand=True

Image.rotate(90,expand=True))

如果沒寫這個參數(shù)默認是False,這樣旋轉(zhuǎn)后的照片是按照原來的大小,會有裁剪或者黑邊,例如:

6寸照片排版1寸:

6寸照片排版2寸按照5寸照片的排版模式會有高度上的溢出

同理,6寸照片混合排列1寸、2寸的也是有溢出

解決方法:新建畫布時候按照6寸比例3:2進行適當?shù)姆糯?#xff0c;因為沖印的時候也沒要求就是標準大小嘛

比如,我將大小改為1950*1300

同理,6寸照片混合排列1寸、2寸的也是有溢出。修改完尺寸,混合排版的樣子就多了去了,比如:

源代碼:

感覺寫的有點啰嗦了,應(yīng)該使用對象的方法精簡一下,很多重復的代碼改起來也很麻煩

1 #Author:ZM

2

3 """

4 照片尺寸,寬*高(單位:像素)5 1寸照片:295*4136 2寸照片:413*6267 5寸照片(橫版):1500*10508 6寸照片(橫版):1800*12009 """

10 from PIL importImage,ImageDraw11

12 WIDTH_1IN = 295

13 HEIGHT_1IN = 413

14

15 WIDTH_2IN = 413

16 HEIGHT_2IN = 626

17

18 WIDTH_5IN = 1500

19 HEIGHT_5IN = 1050

20

21 #非全景6寸照片

22 WIDTH_6IN = 1950

23 HEIGHT_6IN = 1300

24

25 defcut_photo(photo,choice):26 """

27 將照片按照比例進行裁剪成1寸、2寸28 :param photo: 待處理的照片29 :param choice: 1代表1寸,2代表2寸30 :return: 處理后的照片31 """

32 width = photo.size[0] #寬

33 height = photo.size[1] #高

34 rate = height /width35 if choice == 1:36 if rate < (HEIGHT_1IN/WIDTH_1IN):37 x = (width - int(height / HEIGHT_1IN * WIDTH_1IN)) / 2

38 y =039 cutted_photo = photo.crop((x, y, x + (int(height / HEIGHT_1IN * WIDTH_1IN)), y +height))40

41 else:42 x =043 y = (height - int(width / WIDTH_1IN * HEIGHT_1IN)) / 2

44 cutted_photo = photo.crop((x, y, x + width, y + (int(width / WIDTH_1IN *HEIGHT_1IN))))45 returncutted_photo46

47 if choice == 2:48 if rate < (HEIGHT_2IN/WIDTH_2IN):49 x = (width - int(height / HEIGHT_2IN * WIDTH_2IN)) / 2

50 y =051 cutted_photo = im.crop((x, y, x + (int(height / HEIGHT_2IN * WIDTH_2IN)), y +height))52

53 else:54 x =055 y = (height - int(width / WIDTH_2IN * HEIGHT_2IN)) / 2

56 cutted_photo = im.crop((x, y, x + width, y + (int(width / WIDTH_2IN *HEIGHT_2IN))))57

58 returncutted_photo59

60 defresize_photo(photo,choice):61 ‘‘‘

62 縮放照片63 :param photo: 待處理的照片64 :param choice: 1代表1寸,2代表2寸65 :return: 處理后的照片66 ‘‘‘

67 if choice == 1:68 resized_photo =photo.resize((WIDTH_1IN,HEIGHT_1IN))69 returnresized_photo70 if choice == 2:71 resized_photo =photo.resize((WIDTH_2IN, HEIGHT_2IN))72 returnresized_photo73

74

75 deflayout_photo_5_1(photo):76 """

77 在5寸照片上排版1寸照片78 :param photo: 待處理照片1寸79 :return: 處理后的照片80 """

81 bk = Image.new("RGB", [WIDTH_5IN,HEIGHT_5IN], (255,255,255))82 draw = ImageDraw.Draw(bk)#創(chuàng)建畫筆

83 draw.line([(0,HEIGHT_5IN/2),(WIDTH_5IN,HEIGHT_5IN/2)],fill=128) #橫線

84 draw.line([(WIDTH_5IN*0.25,0),(WIDTH_5IN*0.25,HEIGHT_5IN)],fill=128) #第1條豎線

85 draw.line([(WIDTH_5IN*0.5,0),(WIDTH_5IN*0.5,HEIGHT_5IN)],fill=128) #第2條豎線

86 draw.line([(WIDTH_5IN*0.75,0),(WIDTH_5IN*0.75,HEIGHT_5IN)],fill=128) #第3條豎線

87

88 focus_point = [0.125 * WIDTH_5IN,0.25 *HEIGHT_5IN]89 start_point = [focus_point[0] - 0.5 * WIDTH_1IN, focus_point[1] - 0.5 *HEIGHT_1IN]90 for i in range(0,2):91 for k in range(0,4):92 bk.paste(photo, (int(start_point[0] + (k * WIDTH_5IN / 4)), int(start_point[1] + 0.5 * i *HEIGHT_5IN)))93 returnbk94

95

96 deflayout_photo_5_2(photo):97 """

98 在5寸照片上排版2寸照片99 :param photo: 待處理照片2寸100 :return: 處理后的照片101 """

102 bk = Image.new("RGB", [HEIGHT_5IN,WIDTH_5IN], (255,255,255)) #豎版排版

103 #創(chuàng)建畫筆

104 draw =ImageDraw.Draw(bk)105 draw.line([(0,WIDTH_5IN/2),(WIDTH_5IN,WIDTH_5IN/2)],fill=128) #橫線

106 draw.line([(HEIGHT_5IN*0.5,0),(HEIGHT_5IN*0.5,WIDTH_5IN)],fill=128) #豎線

107 focus_point = [0.25 * HEIGHT_5IN, 0.25 *WIDTH_5IN]108 start_point = [focus_point[0] - 0.5 * WIDTH_2IN, focus_point[1] - 0.5 *HEIGHT_2IN]109 #print(focus_point,start_point)

110 for i in range(0,2):111 for k in range(0,2):112 bk.paste(photo, (int(start_point[0] + (k * HEIGHT_5IN / 2)), int(start_point[1] + 0.5* i *WIDTH_5IN)))113 returnbk114

115 deflayout_photo_5_mix(photo1,photo2):116 """

117 在5寸照片上混合排版1寸、2寸照片118 :param photo1: 待處理照片1寸119 :param photo1: 待處理照片2寸120 :return: 處理后的照片121 """

122 bk = Image.new("RGB", [WIDTH_5IN,HEIGHT_5IN], (255,255,255))123 #創(chuàng)建畫筆

124 draw =ImageDraw.Draw(bk)125 draw.line([(0,HEIGHT_5IN/2),(WIDTH_5IN,HEIGHT_5IN/2)],fill=128) #橫線

126 draw.line([(WIDTH_5IN*0.25,0),(WIDTH_5IN*0.25,HEIGHT_5IN)],fill=128) #第1條豎線

127 draw.line([(WIDTH_5IN*0.5,0),(WIDTH_5IN*0.5,HEIGHT_5IN)],fill=128) #第2條豎線

128

129 focus_point = [0.125 * WIDTH_5IN,0.25 *HEIGHT_5IN]130 start_point = [focus_point[0] - 0.5 * WIDTH_1IN, focus_point[1] - 0.5 *HEIGHT_1IN]131 focus_point2 = [0.75 * WIDTH_5IN, 0.25 *HEIGHT_5IN]132 start_point2 = [focus_point2[0] - 0.5 * HEIGHT_2IN, focus_point2[1] - 0.5 *WIDTH_2IN]133

134 for i in range(0,2):135 for k in range(0,2):136 bk.paste(photo1, (int(start_point[0] + (k * WIDTH_5IN / 4)), int(start_point[1] + 0.5 * i *HEIGHT_5IN)))137

138 bk.paste(photo2,(int(start_point2[0]),int(start_point2[1])))139 bk.paste(photo2,(int(start_point2[0]),int(start_point2[1] + 0.5 *HEIGHT_5IN)))140 returnbk141

142 deflayout_photo_6_1(photo):143 """

144 在6寸照片上排版2寸照片145 :param photo: 待處理照片1寸146 :return: 處理后的照片147 """

148 bk = Image.new("RGB", [HEIGHT_6IN,WIDTH_6IN], (255,255,255)) #豎版排版

149 #創(chuàng)建畫筆

150 draw =ImageDraw.Draw(bk)151 draw.line([(0,WIDTH_6IN*0.25),(WIDTH_6IN,WIDTH_6IN*0.25)],fill=128) #橫線

152 draw.line([(0,WIDTH_6IN*0.5),(WIDTH_6IN,WIDTH_6IN*0.5)],fill=128) #橫線

153 draw.line([(0,WIDTH_6IN*0.75),(WIDTH_6IN,WIDTH_6IN*0.75)],fill=128) #橫線

154 draw.line([(HEIGHT_6IN*0.25,0),(HEIGHT_6IN*0.25,WIDTH_6IN)],fill=128) #豎線

155 draw.line([(HEIGHT_6IN*0.5,0),(HEIGHT_6IN*0.5,WIDTH_6IN)],fill=128) #豎線

156 draw.line([(HEIGHT_6IN*0.75,0),(HEIGHT_6IN*0.75,WIDTH_6IN)],fill=128) #豎線

157 focus_point = [0.125 * HEIGHT_6IN, 0.125 *WIDTH_6IN]158 start_point = [focus_point[0] - 0.5 * WIDTH_1IN, focus_point[1] - 0.5 *HEIGHT_1IN]159 #print(focus_point,start_point)

160 for i in range(0,4):161 for k in range(0,4):162 bk.paste(photo, (int(start_point[0] + (k * HEIGHT_6IN / 4)), int(start_point[1] + i * 0.25 *WIDTH_6IN )))163 returnbk164

165 deflayout_photo_6_2(photo):166 """

167 在6寸照片上排版2寸照片168 :param photo: 待處理照片2寸169 :return: 處理后的照片170 """

171 bk = Image.new("RGB", [WIDTH_6IN,HEIGHT_6IN], (255,255,255))172 #創(chuàng)建畫筆

173 draw =ImageDraw.Draw(bk)174 draw.line([(0,HEIGHT_6IN/2),(WIDTH_6IN,HEIGHT_6IN/2)],fill=128) #橫線

175 draw.line([(WIDTH_6IN*0.25,0),(WIDTH_6IN*0.25,HEIGHT_6IN)],fill=128) #第1條豎線

176 draw.line([(WIDTH_6IN*0.5,0),(WIDTH_6IN*0.5,HEIGHT_6IN)],fill=128) #第2條豎線

177 draw.line([(WIDTH_6IN*0.75,0),(WIDTH_6IN*0.75,HEIGHT_6IN)],fill=128) #第3條豎線

178 focus_point = [0.125 * WIDTH_6IN,0.25 *HEIGHT_6IN]179 start_point = [focus_point[0] - 0.5 * WIDTH_2IN, focus_point[1] - 0.5 *HEIGHT_2IN]180 for i in range(0,2):181 for k in range(0,4):182 bk.paste(photo, (int(start_point[0] + (k * WIDTH_6IN / 4)), int(start_point[1] + 0.5 * i *HEIGHT_6IN)))183 returnbk184

185

186 deflayout_photo_6_mix1(photo1,photo2):187 """

188 在6寸照片上混合排版1寸、2寸照片189 :param photo1: 待處理照片1寸190 :param photo1: 待處理照片2寸191 :return: 處理后的照片192 """

193 bk = Image.new("RGB", [WIDTH_6IN,HEIGHT_6IN], (255,255,255))194 #創(chuàng)建畫筆

195 draw =ImageDraw.Draw(bk)196 draw.line([(0,HEIGHT_6IN*0.5),(WIDTH_6IN,HEIGHT_6IN/2)],fill=128) #橫線

197 draw.line([(0,HEIGHT_6IN*0.25),(WIDTH_6IN*0.5,HEIGHT_6IN*0.25)],fill=128) #短橫線

198 draw.line([(0,HEIGHT_6IN*0.75),(WIDTH_6IN*0.5,HEIGHT_6IN*0.75)],fill=128) #短橫線

199 draw.line([(WIDTH_6IN*0.25,0),(WIDTH_6IN*0.25,HEIGHT_6IN)],fill=128) #第1條豎線

200 draw.line([(WIDTH_6IN*0.5,0),(WIDTH_6IN*0.5,HEIGHT_6IN)],fill=128) #第2條豎線

201 draw.line([(WIDTH_6IN*0.75,0),(WIDTH_6IN*0.75,HEIGHT_6IN)],fill=128) #第3條豎線

202 focus_point = [0.125 * WIDTH_6IN, 0.125 *HEIGHT_6IN]203 start_point = [focus_point[0] - 0.5 * HEIGHT_1IN, focus_point[1] - 0.5 *WIDTH_1IN]204 for i in range(0,4):205 for k in range(0,2):206 bk.paste(photo1, (int(start_point[0] + (0.25 * k * WIDTH_6IN )), int(start_point[1] + 0.25 * i *HEIGHT_6IN)))207 focus_point2 = [0.625 * WIDTH_6IN, 0.25 *HEIGHT_6IN]208 start_point2 = [focus_point2[0] - 0.5 * WIDTH_2IN, focus_point2[1] - 0.5 *HEIGHT_2IN]209 for i in range(0,2):210 for k in range(0,2):211 bk.paste(photo2,(int(start_point2[0] + (0.25 * k * WIDTH_6IN)), int(start_point2[1] + 0.5 * i *HEIGHT_6IN)))212 bk.show()213 returnbk214

215

216

217 deflayout_photo_6_mix2(photo1,photo2):218 """

219 在6寸照片上混合排版1寸、2寸照片220 :param photo1: 待處理照片1寸221 :param photo1: 待處理照片2寸222 :return: 處理后的照片223 """

224 bk = Image.new("RGB", [HEIGHT_6IN,WIDTH_6IN], (255,255,255)) #豎版排版

225 #創(chuàng)建畫筆

226 draw =ImageDraw.Draw(bk)227

228 draw.line([(350,0),(350,WIDTH_6IN)],fill=128) #豎線

229 draw.line([(700,0),(700,WIDTH_6IN)],fill=128) #豎線

230

231

232 draw.line([(0,WIDTH_6IN*0.25),(700,WIDTH_6IN*0.25)],fill=128) #橫線1

233 draw.line([(0,WIDTH_6IN*0.5),(700,WIDTH_6IN*0.5)],fill=128) #橫線2

234 draw.line([(0,WIDTH_6IN*0.75),(700,WIDTH_6IN*0.75)],fill=128) #橫線3

235 draw.line([(700,WIDTH_6IN/3),(HEIGHT_6IN,WIDTH_6IN/3)],fill=128) #橫線4

236 draw.line([(700,WIDTH_6IN*2/3),(HEIGHT_6IN,WIDTH_6IN*2/3)],fill=128) #橫線5

237

238 focus_point = [0.5 * 350, 0.125 *WIDTH_6IN]239 start_point = [focus_point[0] - 0.5 * WIDTH_1IN, focus_point[1] - 0.5 *HEIGHT_1IN]240

241 #print(focus_point,start_point)

242 for i in range(0,4):243 for k in range(0,2):244 bk.paste(photo1, (int(start_point[0] + (k * 350)), int(start_point[1] + i * 0.25 *WIDTH_6IN )))245

246 focus_point2 = [0.5 * HEIGHT_6IN+350, WIDTH_6IN/6]247 start_point2 = [focus_point2[0] - 0.5 * WIDTH_2IN, focus_point2[1] - 0.5 *HEIGHT_2IN]248 for i in range(0,3):249 bk.paste(photo2, (int(start_point2[0]), int(start_point2[1] + i * WIDTH_6IN /3)))250 returnbk251

252

253 im = Image.open(‘xzk2.jpg‘)254 width =im.size[0]255 height = im.size[1]256 rate = height /width257 layout_photo_5_1(resize_photo(cut_photo(im,1),1)).save(‘5_1.jpg‘)258 layout_photo_5_2(resize_photo(cut_photo(im,2),2)).save(‘5_2.jpg‘)259 layout_photo_6_1(resize_photo(cut_photo(im,1),1)).save(‘6_1.jpg‘)260 layout_photo_6_2(resize_photo(cut_photo(im,2),2)).save(‘6_2.jpg‘)261 layout_photo_5_mix(resize_photo(cut_photo(im,1),1),resize_photo(cut_photo(im,2),2).rotate(90,expand=True)).save(‘5_1_mix.jpg‘)262 layout_photo_6_mix1(resize_photo(cut_photo(im,1),1).rotate(90,expand=True),resize_photo(cut_photo(im,2),2)).save(‘6_mix1.jpg‘)263 layout_photo_6_mix2(resize_photo(cut_photo(im,1),1),resize_photo(cut_photo(im,2),2)).save(‘6_mix2.jpg‘)

最后,感謝薛老板友情出鏡!

原文:https://www.cnblogs.com/aby321/p/11805789.html

總結(jié)

以上是生活随笔為你收集整理的python已知横版求竖版_python3一键排版证件照(一寸照、二寸照),附源代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av生活片 | 天堂色av | 神秘马戏团在线观看免费高清中文 | a√国产 | 国产精品无码无卡无需播放器 | v天堂在线观看 | 国产在线视频不卡 | 自拍视频一区二区 | 插插看| 国产探花在线精品一区二区 | 在线播放第一页 | 一级黄色大片网站 | 国产情侣自拍小视频 | 国产精品视频在线看 | 视频二区三区 | 黄色a在线 | 成人激情五月天 | 91色啪| 97桃色 | 亚洲一区二区成人 | 色综合视频网 | 一级欧美一级日韩 | 毛片网络 | 精品视频在线观看 | 2025国产精品视频 | 久久一区二区电影 | 欧美精品自拍视频 | 亚洲免费高清视频 | 国产免费999 | a级免费网站| 动漫美女露胸网站 | 色哟哟网站 | 国产精品久久中文字幕 | 国产成人精品无码免费看81 | 男女在线观看视频 | 精品区一区二区 | 自拍偷拍国内 | 少妇高潮喷水在线观看 | 成人午夜视频在线观看 | 久久精品日 | 国产精品国产三级国产播12软件 | 国产乱来| 免费一级片视频 | 亚洲五级片 | 五月天福利视频 | 人人妻人人藻人人爽欧美一区 | 天天操天天操天天操天天操 | 热久久在线 | 少妇又色又紧又爽又刺激视频 | 男人添女人荫蒂国产 | 91桃色免费视频 | av成人免费在线观看 | 青青草视频在线看 | 日韩一级av毛片 | 污污在线免费观看 | 干干干操操操 | 青青在线精品 | 精品动漫一区二区三区的观看方式 | 国产欧美综合一区二区三区 | 成人午夜在线观看视频 | 少妇一级淫片免费看 | 精品麻豆一区二区 | 老熟妇高潮一区二区高清视频 | av一区二区免费 | 欧美一级做a爰片久久高潮 久热国产精品视频 | 无码人妻丰满熟妇啪啪网站 | 欧美精品四区 | 无码人妻久久一区二区三区蜜桃 | 国产无码精品视频 | 91看片在线 | 黑人精品无码一区二区三区 | 4438全国成人免费 | 邻居少妇张开双腿让我爽一夜 | 久久9精品区-无套内射无码 | 久久国产精品电影 | 久久久久久综合 | 国产女人18水真多毛片18精品 | 欧美 亚洲 激情 一区 | 性感美女被草 | 射死你天天日 | 国产freexxxx性播放麻豆 | 视频黄页在线观看 | 在线观看av资源 | av手机免费在线观看 | 超碰人人射 | 日韩av大片 | 国产深夜视频 | 久久国产福利 | 粉嫩久久99精品久久久久久夜 | 国产jjizz一区二区三区视频 | 亚洲一区二区精品视频 | 91网站免费在线观看 | 久久人妻无码aⅴ毛片a片app | 精品嫩模一区二区三区 | 日本少妇裸体做爰高潮片 | 精品日韩制服无码久久久久久 | 极品91| 国产1区2区3区中文字幕 | 久久中文字幕电影 |