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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

framebuffer 保存 bmp图片格式

發布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 framebuffer 保存 bmp图片格式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近需要完成一個從framebuffer中進行讀取,然后將內存的東西保存為bmp圖片格式,我的其他博客內容對framebuffer進行詳細的講解,以及bmp的格式進行詳細的講解。

??? 之前從網上看到了一些保存bmp圖片的代碼,在本地執行都會出現問題,本人就進行了自己編寫,可以指定文件的文件名和文件類型

?? 也可以從github中獲取源碼:

直接看代碼:https://github.com/Guazhen/Framebuffer_shot



[cpp]?view plaincopy
  • #include?<linux/fb.h>??
  • #include?<stdio.h>??
  • #include?<stdint.h>???
  • #include?<fcntl.h>??
  • #include?<sys/mman.h>??
  • #include?<sys/ioctl.h>???
  • #include?<getopt.h>??
  • #include?<strings.h>??
  • #include?<unistd.h>??
  • typedef?unsigned?short?WORD;??
  • typedef?unsigned?int?DWORD;??
  • typedef?unsigned?long?LONG;??
  • ??
  • typedef?struct?tagBITMAPFILEHEADER?{??
  • ????WORD?bfType;??
  • ????DWORD?bfSize;??
  • ????WORD?bfReserved1;??
  • ????WORD?bfReserved2;??
  • ????DWORD?bfOffBits;???
  • }?__attribute__((packed))?BITMAPFILEHEADER;??
  • ??
  • ??
  • typedef?struct?tagBITMAPINFOHEADER??
  • {??
  • ????DWORD?biSize;?/*info?header?size?in?bytes*/??
  • ????DWORD?biWidth;?/*widht?of?image*/??
  • ????DWORD?biHeight;/*height?of?image*/??
  • ????WORD?biPlanes;/*number?of?colour?planes*/???
  • ????WORD?biBitCount;/*bits?per?pixel*/??
  • ????DWORD?biCompression;/*compression?type*/??
  • ????DWORD?biSizeImage;/*image?size?meter*/??
  • ????DWORD?biXPelsPerMeter;/*pixels?per?meter*/??
  • ????DWORD?biYPelsPerMeter;/*pexels?per?meter*/??
  • ????DWORD?biClrUsed;/*number?of?colour*/??
  • ????DWORD?biClrImportant;/*important?colour*/??
  • }?__attribute__((packed))?BITMAPINFOHEADER;??
  • ??
  • int?output_file;??
  • int?type_file;??
  • ??
  • struct?fb_fix_screeninfo?finfo;??
  • struct?fb_var_screeninfo?vinfo;??
  • ??
  • static?const?struct?option?long_options[]=????
  • {????
  • ?????{"output",1,NULL,'o'},????
  • ?????{"t",1,NULL,'t'},??????
  • ?????{NULL,0,NULL,0}????
  • };???
  • ??
  • static?void?usage(void)????
  • {????
  • ????fprintf(stderr,????
  • ????????????"imax6?[option]...\n"????
  • ????????????"??-o|--output???????????????Output?the?filename.\n"????
  • ????????????"??-t|--type???????????????Output?the?type?of?thefilename.\n"??
  • ????????????"??-h|--help???????????????help?information.\n"??
  • ???????????);????
  • };??
  • ??
  • ??
  • static?void?image_bmp(?const?char?*filename)??
  • {??
  • ????printf("starting?bmp..\n");??
  • ????char?tmpbufilename[126]?=?{0};??
  • ????if(?NULL?!=?filename)??
  • ????{??
  • ????????strcpy(tmpbufilename,?filename);??????????????????
  • ????????strcat(tmpbufilename,".bmp");??
  • ????}else??
  • ????{??
  • ????????strcpy(tmpbufilename,"screen.bmp");??
  • ????}??
  • ??????
  • ????FILE?*fp;??
  • ????BITMAPFILEHEADER????bmfh;??
  • ????????BITMAPINFOHEADER????bmih;??
  • ??
  • ????????((unsigned?char?*)&bmfh.bfType)[0]?=?'B';??
  • ????????((unsigned?char?*)&bmfh.bfType)[1]?=?'M';??
  • ??
  • ????????bmfh.bfSize?=??sizeof(BITMAPFILEHEADER)?+?sizeof(BITMAPINFOHEADER)?+?vinfo.yres?*?vinfo.xres?*?4;??
  • ????????bmfh.bfReserved1?=?0;??
  • ????????bmfh.bfReserved2?=?0;??
  • ????????bmfh.bfOffBits?=?sizeof(BITMAPFILEHEADER)?+?sizeof(BITMAPINFOHEADER);??
  • ??
  • ????????bmih.biSize?=?sizeof(BITMAPINFOHEADER);??
  • ??
  • ????????bmih.biWidth?=?vinfo.xres;??
  • ????????bmih.biHeight?=?vinfo.yres;??
  • ????????bmih.biPlanes?=?1;??
  • ????????bmih.biBitCount?=?32;??
  • ????????bmih.biCompression?=?0;??
  • ????????bmih.biSizeImage?=?0;?/*說明圖像的大小,以字節為單位。當用BI_RGB格式時,總設置為0*/??
  • ????????bmih.biXPelsPerMeter?=?0;?/*缺省值*/??
  • ????????bmih.biYPelsPerMeter?=?0;??
  • ????????bmih.biClrUsed?=?0;?/*說明位圖實際使用的調色板索引數,0:使用所有的調色板索引*/??
  • ????????bmih.biClrImportant?=?0;?/*說明對圖像顯示有重要影響的顏色索引的數目,如果是0,表示都重要*/??
  • ??
  • ????printf("tmpbufilename?=?%s\n",tmpbufilename);??
  • ??
  • ????????FILE*?image_file?=?fopen(tmpbufilename,"a");??
  • ????if(?NULL?==?image_file)??
  • ????{??
  • ????????printf("image?fopen?fail\n");??
  • ????}??
  • ??
  • ????????fwrite(&bmfh,?sizeof(BITMAPFILEHEADER),1,image_file);??
  • ????????fwrite(&bmih,?sizeof(BITMAPINFOHEADER),1,image_file);??
  • ??
  • ????????FILE?*raw_file?=?fopen(?"test.raw","rb");??
  • ????if(?NULL?==?raw_file)?????
  • ????{??
  • ????????printf("rawfile?fopen?fail..\n");??
  • ????}??
  • ??????
  • ??????
  • ????/*?
  • ????fgetc是一種計算機語言中的函數。意為從文件指針stream指向的文件中讀取一個字符,讀取一個字節后,光標位置后移一個字節。格式:int?fgetc(FILE?*stream);?
  • ????*/??
  • ?????
  • ????????//int?ch?=?fgetc(raw_file);??
  • ????int?ch?=?getc(raw_file);??
  • ??????
  • ????/*?
  • ?
  • ????for(y?=?0;?y?<?vinfo.yres;?y+)?
  • ????{???
  • ????????for(x?=?0;?x?<?vinfo.xres;?x++)???
  • ????????{???
  • ????????????long?location?=?(x?+?vinfo.xoffset)?*?(vinfo.bits_per_pixel/8)?+?(y?+?vinfo.yoffset)?*?finfo.line_length;??????????????
  • ????????????write(image_file,?fbp?+?location,?4);???
  • ????????}???
  • ????}????
  • ????*/??
  • ????int?x,?y;??
  • ????for(?y?=?vinfo.yres?-?1;?y?>=?0;?y--)??
  • ????{??
  • ????????for(x?=?0;?x?<?vinfo.xres;?x++)??
  • ????????{??
  • ????????????/*字節數*/??
  • ????????????long?location?=?(x?+?vinfo.xoffset)?*?(vinfo.bits_per_pixel/8)?+?(y?+?vinfo.yoffset)?*?finfo.line_length;??
  • ????????????fseek(raw_file,?location,?SEEK_SET);??
  • ????????????ch?=?fgetc(raw_file);??
  • ????????????fputc(ch,image_file);??
  • ??
  • ????????????ch?=?fgetc(raw_file);??
  • ????????????fputc(ch,image_file);??
  • ??
  • ????????????ch?=?fgetc(raw_file);??
  • ????????????fputc(ch,image_file);??
  • ??
  • ????????????ch?=?fgetc(raw_file);??
  • ????????????fputc(ch,image_file);???
  • ????????}??
  • ????}??
  • ????/*?
  • ????while(?ch?!=?EOF)?
  • ????????{?
  • ????????ch?=?fgetc(raw_file);?
  • ????????????????fputc(ch,image_file);?
  • ?????????
  • ????????ch?=?fgetc(raw_file);?
  • ????????????????fputc(ch,image_file);?
  • ?
  • ????????ch?=?fgetc(raw_file);?
  • ????????????????fputc(ch,image_file);?
  • ?
  • ????????ch?=?fgetc(raw_file);?
  • ????????????????fputc(ch,image_file);?????????????????
  • ????????}*/??
  • ??
  • ????????fp?=?popen("rm?./test.raw","r");??
  • ????????pclose(fp);??
  • ??
  • ????fclose(raw_file);??
  • ????fclose(image_file);??
  • ????printf("ending?bmp\n");??
  • }??
  • ??
  • int?main(int?argc,?char?**argv)??
  • {??
  • ????int?opt?=?0;??
  • ????int?options_index?=?0;??
  • ????char?*tmp?=?NULL;??
  • ????char?filename[126]?=?{0};??
  • ????char?type[126]?=?{0};??
  • ??
  • ????if(argc?==?1)??
  • ????{??
  • ????????usage();??
  • ????????return?2;?????
  • ????}??
  • ????/*?解析命令行參數*/??
  • ????while((opt=getopt_long(argc,argv,"o:t:h?",long_options,&options_index))!=EOF?)????
  • ????{????
  • ????????switch(opt)????
  • ????????{??????
  • ????????????case?'o':???
  • ????????????????output_file=1;??
  • ????????????????sprintf(filename,"%s",optarg);??
  • ????????????????break;????
  • ????????????case?'t':???
  • ????????????????type_file=1;??
  • ????????????????sprintf(type,"%s",optarg);??
  • ????????????????break;?????
  • ????????????case?'h':????
  • ????????????case?'?':???
  • ????????????????usage();return?2;break;????
  • ????????}????
  • ????}??
  • ??????
  • ??
  • ????int?fb_fd?=?open("/dev/fb0",O_RDWR);??
  • ????if(fb_fd?==?-1)??
  • ????{??
  • ????????printf("open?fail..\n");??
  • ????????return?-1;??
  • ????}??
  • ??
  • ??
  • ????ioctl(fb_fd,?FBIOGET_VSCREENINFO,?&vinfo);??
  • ????ioctl(fb_fd,?FBIOGET_FSCREENINFO,?&finfo);??
  • ??
  • ????long?screensize?=?vinfo.yres_virtual?*?finfo.line_length;??
  • ????FILE?*fp?=?popen("bash?./test.sh","r");???
  • ????pclose(fp);??
  • ??
  • ????//bmp???
  • ????if(?output_file?&&?type_file?)??
  • ????{??
  • ????????if(?!strcmp(type,"bmp"))??????
  • ????????{??
  • ????????????image_bmp(filename);??
  • ????????}else?if(?!strcmp(type,"png"))??
  • ????????{??
  • ????????????printf("png?type?=?%s\n",type);??
  • ????????}??
  • ????????else??
  • ????????{??
  • ????????????printf("unkown\n");??
  • ????????}??
  • ??????
  • ????}?????
  • ????else??
  • ????{??
  • ????????usage();return?2;??
  • ????}??
  • ??
  • ????close(fb_fd);??
  • ??
  • ????return?0;??
  • } ?


  • [cpp]?view plaincopy
  • #include?<linux/fb.h>??
  • #include?<stdio.h>??
  • #include?<stdint.h>???
  • #include?<fcntl.h>??
  • #include?<sys/mman.h>??
  • #include?<sys/ioctl.h>???
  • #include?<getopt.h>??
  • #include?<strings.h>??
  • #include?<unistd.h>??
  • typedef?unsigned?short?WORD;??
  • typedef?unsigned?int?DWORD;??
  • typedef?unsigned?long?LONG;??
  • ??
  • typedef?struct?tagBITMAPFILEHEADER?{??
  • ????WORD?bfType;??
  • ????DWORD?bfSize;??
  • ????WORD?bfReserved1;??
  • ????WORD?bfReserved2;??
  • ????DWORD?bfOffBits;???
  • }?__attribute__((packed))?BITMAPFILEHEADER;??
  • ??
  • ??
  • typedef?struct?tagBITMAPINFOHEADER??
  • {??
  • ????DWORD?biSize;?/*info?header?size?in?bytes*/??
  • ????DWORD?biWidth;?/*widht?of?image*/??
  • ????DWORD?biHeight;/*height?of?image*/??
  • ????WORD?biPlanes;/*number?of?colour?planes*/???
  • ????WORD?biBitCount;/*bits?per?pixel*/??
  • ????DWORD?biCompression;/*compression?type*/??
  • ????DWORD?biSizeImage;/*image?size?meter*/??
  • ????DWORD?biXPelsPerMeter;/*pixels?per?meter*/??
  • ????DWORD?biYPelsPerMeter;/*pexels?per?meter*/??
  • ????DWORD?biClrUsed;/*number?of?colour*/??
  • ????DWORD?biClrImportant;/*important?colour*/??
  • }?__attribute__((packed))?BITMAPINFOHEADER;??
  • ??
  • int?output_file;??
  • int?type_file;??
  • ??
  • struct?fb_fix_screeninfo?finfo;??
  • struct?fb_var_screeninfo?vinfo;??
  • ??
  • static?const?struct?option?long_options[]=????
  • {????
  • ?????{"output",1,NULL,'o'},????
  • ?????{"t",1,NULL,'t'},??????
  • ?????{NULL,0,NULL,0}????
  • };???
  • ??
  • static?void?usage(void)????
  • {????
  • ????fprintf(stderr,????
  • ????????????"imax6?[option]...\n"????
  • ????????????"??-o|--output???????????????Output?the?filename.\n"????
  • ????????????"??-t|--type???????????????Output?the?type?of?thefilename.\n"??
  • ????????????"??-h|--help???????????????help?information.\n"??
  • ???????????);????
  • };??
  • ??
  • ??
  • static?void?image_bmp(?const?char?*filename)??
  • {??
  • ????printf("starting?bmp..\n");??
  • ????char?tmpbufilename[126]?=?{0};??
  • ????if(?NULL?!=?filename)??
  • ????{??
  • ????????strcpy(tmpbufilename,?filename);??????????????????
  • ????????strcat(tmpbufilename,".bmp");??
  • ????}else??
  • ????{??
  • ????????strcpy(tmpbufilename,"screen.bmp");??
  • ????}??
  • ??????
  • ????FILE?*fp;??
  • ????BITMAPFILEHEADER????bmfh;??
  • ????????BITMAPINFOHEADER????bmih;??
  • ??
  • ????????((unsigned?char?*)&bmfh.bfType)[0]?=?'B';??
  • ????????((unsigned?char?*)&bmfh.bfType)[1]?=?'M';??
  • ??
  • ????????bmfh.bfSize?=??sizeof(BITMAPFILEHEADER)?+?sizeof(BITMAPINFOHEADER)?+?vinfo.yres?*?vinfo.xres?*?4;??
  • ????????bmfh.bfReserved1?=?0;??
  • ????????bmfh.bfReserved2?=?0;??
  • ????????bmfh.bfOffBits?=?sizeof(BITMAPFILEHEADER)?+?sizeof(BITMAPINFOHEADER);??
  • ??
  • ????????bmih.biSize?=?sizeof(BITMAPINFOHEADER);??
  • ??
  • ????????bmih.biWidth?=?vinfo.xres;??
  • ????????bmih.biHeight?=?vinfo.yres;??
  • ????????bmih.biPlanes?=?1;??
  • ????????bmih.biBitCount?=?32;??
  • ????????bmih.biCompression?=?0;??
  • ????????bmih.biSizeImage?=?0;?/*說明圖像的大小,以字節為單位。當用BI_RGB格式時,總設置為0*/??
  • ????????bmih.biXPelsPerMeter?=?0;?/*缺省值*/??
  • ????????bmih.biYPelsPerMeter?=?0;??
  • ????????bmih.biClrUsed?=?0;?/*說明位圖實際使用的調色板索引數,0:使用所有的調色板索引*/??
  • ????????bmih.biClrImportant?=?0;?/*說明對圖像顯示有重要影響的顏色索引的數目,如果是0,表示都重要*/??
  • ??
  • ????printf("tmpbufilename?=?%s\n",tmpbufilename);??
  • ??
  • ????????FILE*?image_file?=?fopen(tmpbufilename,"a");??
  • ????if(?NULL?==?image_file)??
  • ????{??
  • ????????printf("image?fopen?fail\n");??
  • ????}??
  • ??
  • ????????fwrite(&bmfh,?sizeof(BITMAPFILEHEADER),1,image_file);??
  • ????????fwrite(&bmih,?sizeof(BITMAPINFOHEADER),1,image_file);??
  • ??
  • ????????FILE?*raw_file?=?fopen(?"test.raw","rb");??
  • ????if(?NULL?==?raw_file)?????
  • ????{??
  • ????????printf("rawfile?fopen?fail..\n");??
  • ????}??
  • ??????
  • ??????
  • ????/*?
  • ????fgetc是一種計算機語言中的函數。意為從文件指針stream指向的文件中讀取一個字符,讀取一個字節后,光標位置后移一個字節。格式:int?fgetc(FILE?*stream);?
  • ????*/??
  • ?????
  • ????????//int?ch?=?fgetc(raw_file);??
  • ????int?ch?=?getc(raw_file);??
  • ??????
  • ????/*?
  • ?
  • ????for(y?=?0;?y?<?vinfo.yres;?y+)?
  • ????{???
  • ????????for(x?=?0;?x?<?vinfo.xres;?x++)???
  • ????????{???
  • ????????????long?location?=?(x?+?vinfo.xoffset)?*?(vinfo.bits_per_pixel/8)?+?(y?+?vinfo.yoffset)?*?finfo.line_length;??????????????
  • ????????????write(image_file,?fbp?+?location,?4);???
  • ????????}???
  • ????}????
  • ????*/??
  • ????int?x,?y;??
  • ????for(?y?=?vinfo.yres?-?1;?y?>=?0;?y--)??
  • ????{??
  • ????????for(x?=?0;?x?<?vinfo.xres;?x++)??
  • ????????{??
  • ????????????/*字節數*/??
  • ????????????long?location?=?(x?+?vinfo.xoffset)?*?(vinfo.bits_per_pixel/8)?+?(y?+?vinfo.yoffset)?*?finfo.line_length;??
  • ????????????fseek(raw_file,?location,?SEEK_SET);??
  • ????????????ch?=?fgetc(raw_file);??
  • ????????????fputc(ch,image_file);??
  • ??
  • ????????????ch?=?fgetc(raw_file);??
  • ????????????fputc(ch,image_file);??
  • ??
  • ????????????ch?=?fgetc(raw_file);??
  • ????????????fputc(ch,image_file);??
  • ??
  • ????????????ch?=?fgetc(raw_file);??
  • ????????????fputc(ch,image_file);???
  • ????????}??
  • ????}??
  • ????/*?
  • ????while(?ch?!=?EOF)?
  • ????????{?
  • ????????ch?=?fgetc(raw_file);?
  • ????????????????fputc(ch,image_file);?
  • ?????????
  • ????????ch?=?fgetc(raw_file);?
  • ????????????????fputc(ch,image_file);?
  • ?
  • ????????ch?=?fgetc(raw_file);?
  • ????????????????fputc(ch,image_file);?
  • ?
  • ????????ch?=?fgetc(raw_file);?
  • ????????????????fputc(ch,image_file);?????????????????
  • ????????}*/??
  • ??
  • ????????fp?=?popen("rm?./test.raw","r");??
  • ????????pclose(fp);??
  • ??
  • ????fclose(raw_file);??
  • ????fclose(image_file);??
  • ????printf("ending?bmp\n");??
  • }??
  • ??
  • int?main(int?argc,?char?**argv)??
  • {??
  • ????int?opt?=?0;??
  • ????int?options_index?=?0;??
  • ????char?*tmp?=?NULL;??
  • ????char?filename[126]?=?{0};??
  • ????char?type[126]?=?{0};??
  • ??
  • ????if(argc?==?1)??
  • ????{??
  • ????????usage();??
  • ????????return?2;?????
  • ????}??
  • ????/*?解析命令行參數*/??
  • ????while((opt=getopt_long(argc,argv,"o:t:h?",long_options,&options_index))!=EOF?)????
  • ????{????
  • ????????switch(opt)????
  • ????????{??????
  • ????????????case?'o':???
  • ????????????????output_file=1;??
  • ????????????????sprintf(filename,"%s",optarg);??
  • ????????????????break;????
  • ????????????case?'t':???
  • ????????????????type_file=1;??
  • ????????????????sprintf(type,"%s",optarg);??
  • ????????????????break;?????
  • ????????????case?'h':????
  • ????????????case?'?':???
  • ????????????????usage();return?2;break;????
  • ????????}????
  • ????}??
  • ??????
  • ??
  • ????int?fb_fd?=?open("/dev/fb0",O_RDWR);??
  • ????if(fb_fd?==?-1)??
  • ????{??
  • ????????printf("open?fail..\n");??
  • ????????return?-1;??
  • ????}??
  • ??
  • ??
  • ????ioctl(fb_fd,?FBIOGET_VSCREENINFO,?&vinfo);??
  • ????ioctl(fb_fd,?FBIOGET_FSCREENINFO,?&finfo);??
  • ??
  • ????long?screensize?=?vinfo.yres_virtual?*?finfo.line_length;??
  • ????FILE?*fp?=?popen("bash?./test.sh","r");???
  • ????pclose(fp);??
  • ??
  • ????//bmp???
  • ????if(?output_file?&&?type_file?)??
  • ????{??
  • ????????if(?!strcmp(type,"bmp"))??????
  • ????????{??
  • ????????????image_bmp(filename);??
  • ????????}else?if(?!strcmp(type,"png"))??
  • ????????{??
  • ????????????printf("png?type?=?%s\n",type);??
  • ????????}??
  • ????????else??
  • ????????{??
  • ????????????printf("unkown\n");??
  • ????????}??
  • ??????
  • ????}?????
  • ????else??
  • ????{??
  • ????????usage();return?2;??
  • ????}??
  • ??
  • ????close(fb_fd);??
  • ??
  • ????return?0;??
  • } ?
  • 總結

    以上是生活随笔為你收集整理的framebuffer 保存 bmp图片格式的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 一区二区网站 | 久久精热| 国产欧美精品一区二区色综合 | 一区二区欧美视频 | 免费成人av网址 | 无码人妻aⅴ一区二区三区日本 | 91视频网| 男插女在线观看 | 亚洲综合伊人久久 | 国产成人久久77777精品 | 日本一级淫片色费放 | 三级在线网址 | 国产网址在线观看 | 久操不卡 | 久久夜色精品国产欧美乱极品 | 蜜桃久久av一区 | 午夜激情福利电影 | 91天天综合 | 激情的网站 | 亚洲综合激情另类小说区 | 丁香六月啪啪 | 欧美日本亚洲韩国国产 | 日韩av在线第一页 | 亚洲一区精品在线观看 | 亚洲欧美在线不卡 | 国产成人无码久久久精品天美传媒 | 天天拍天天干 | 精品少妇3p | 男人激烈吮乳吃奶爽文 | 91激情视频在线 | 福利一区二区在线 | 91网页版 | 男女靠逼视频 | 成人做爰69片免费观看 | 国产亚洲视频一区 | 亚洲美女色| 欧美人xxxx| www.天天色 | 日本在线观看一区 | 色婷婷综合五月 | jizz日本在线观看 | 天天碰天天干 | www.自拍偷拍 | 久久精品在线 | 美乳人妻一区二区三区 | 久久久激情 | 在线se | 久久国产劲爆∧v内射 | 朝桐光在线播放 | 国产操女人 | 九色网站在线观看 | www.中文字幕 | 最近2018年手机中文字幕版 | 天美麻花果冻视频大全英文版 | 国产伦理一区 | 成人动漫在线观看视频 | 91丝袜国产在线观看 | 富婆如狼似虎找黑人老外 | av天天网| 日韩在线精品强乱中文字幕 | 日韩欧美中文在线观看 | 尤物一区 | 国产福利电影在线 | 夜夜激情网 | 亚洲无遮挡 | 亚洲欧美自拍另类 | 久久精品欧美一区二区三区不卡 | 国产高清视频网站 | 国产精品欧美性爱 | 性久久久久久久久久 | 在哪里可以看毛片 | 美日韩黄色片 | 欧美手机在线视频 | 人人舔人人干 | 少妇精品久久久一区二区三区 | 亚洲视频一区在线观看 | 99在线国产| 免费激情av | 亚洲av日韩精品久久久久久久 | 香蕉视频在线播放 | 男人资源站 | 亚洲欧洲国产精品 | 国产一级精品视频 | 亚洲av午夜精品一区二区三区 | 17c国产精品一区二区 | 国产高潮国产高潮久久久 | 久久久91精品国产一区二区三区 | av黄色在线播放 | 人妻精品无码一区二区三区 | 亚洲免费网址 | 激情av网站 | 日本一区二区高清不卡 | 一区视频在线免费观看 | 91亚洲网站 | av色区| 免费日批视频 | 另类捆绑调教少妇 | 日本二区视频 | 成人免费网站视频 |