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

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

?? graphic.c

?? Linux下在LCD上顯示圖片的程序 現可顯示大分辨圖片640×480
?? C
?? 第 1 頁 / 共 3 頁
字號:
        }  printf("%d* %d\n",bmp_inf.biWidth,bmp_inf.biHeight);  size=bmp_inf.biHeight*((bmp_inf.biWidth*3+3)/4*4);  buf=(char*)malloc(size);  buf1=(char*)malloc(bmp_inf.biWidth*bmp_inf.biHeight*2);  fseek(fp,54L,0);                                                                                  fread(buf,1,size,fp);  fclose(fp);  for(i=0;i<(bmp_inf.biHeight>>1);i++)    for(k=i*((bmp_inf.biWidth*3+3)/4)*4,j=0;j<bmp_inf.biWidth*3;j++)       {         Tmp=buf[k+j];         buf[k+j]=buf[size-k-bmp_inf.biWidth*3+j];         buf[size-k-bmp_inf.biWidth*3+j]=Tmp;       }  for(i=0;i<(bmp_inf.biHeight);i++)    for(k=i*((bmp_inf.biWidth*3+3)/4)*4,m=i*bmp_inf.biWidth*2,j=0;j<bmp_inf.biWidth;j++)  {       red=(((buf[k+j*3])>>3))*2048;      green=(buf[k+j*3+1]>>3)*64;      blue=(buf[k+j*3+2]>>3);      *(unsigned short *)(buf1+m+j*2)=red|green|blue;    }      color_565_draw_bmp(x,y,bmp_inf.biWidth,bmp_inf.biHeight,buf1);    free(buf);free(buf1);                                                                                }*/void ShowBMP(char *filename,short x,short y){  BMPHEAD bmp_inf;  FILE *fp;  char Tmp,*buf,*buf1,*buf2,c;  int width,height;  int red,green,blue;  long aver_size,size,i,m,j,k;  fp=fopen(filename,"rb");  if(!fp) return;fseek(fp,2L,0);  fread(&bmp_inf.bfSize,1,52,fp);//printf("biBiCount %x\n",bmp_inf.biBitCount);  if(bmp_inf.biBitCount!=1&bmp_inf.biBitCount!=16&bmp_inf.biBitCount!=24)        {         fclose(fp);         puts("Unsupported 2|16color bitmap!\n");         printf("bitcolor=%d\n",*((short*)&bmp_inf.biBitCount));         return;        }   else if(bmp_inf.biBitCount==1)                    //Show black and white                         {                            printf("%d* %d\n",bmp_inf.biWidth,bmp_inf.biHeight); aver_size=((bmp_inf.biWidth+15)/16)*2; //line size printf("aversize=%d\n",aver_size); size=aver_size*bmp_inf.biHeight;  buf=(char*)malloc(size);fseek(fp,62L,0);  fread(buf,1,size,fp);  fclose(fp);  for(i=0;i<(bmp_inf.biHeight>>1);i++)    for(k=i*aver_size,j=0;j<aver_size;j++)       {         Tmp=buf[k+j];         buf[k+j]=buf[size-k-aver_size+j];         buf[size-k-aver_size+j]=Tmp;       }    for(i=0;i<size;i++)     buf[i]^=0xff;  printf("the width=%d\nthe height=%d\n",bmp_inf.biWidth,bmp_inf.biHeight);  my_draw_bmp(x,y,bmp_inf.biWidth,bmp_inf.biHeight,buf);   free(buf);  }   else if(bmp_inf.biBitCount==16)                              //show 16_bit BMP   SHOW_16_color_bmp   {size=bmp_inf.biWidth*bmp_inf.biHeight*2;  buf=(char*)malloc(size);  fseek(fp,54L,0);                                                                fread(buf,1,size,fp);  fclose(fp);  for(i=0;i<(bmp_inf.biHeight>>1);i++)    for(k=i*bmp_inf.biWidth*2,j=0;j<bmp_inf.biWidth*2;j++)       {         Tmp=buf[k+j];         buf[k+j]=buf[size-k-bmp_inf.biWidth*2+j];         buf[size-k-bmp_inf.biWidth*2+j]=Tmp;       }   color_555_draw_bmp(x,y, bmp_inf.biWidth,bmp_inf.biHeight,buf); // else   //  color_565_draw_bmp(x,y,bmp_inf.biWidth,bmp_inf.biHeight,buf);    free(buf);}   else if(bmp_inf.biBitCount==24)	{// printf("%d* %d\n",bmp_inf.biWidth,bmp_inf.biHeight);  size=bmp_inf.biHeight*((bmp_inf.biWidth*3+3)/4*4);  buf=(char*)malloc(size);  buf1=(char*)malloc(bmp_inf.biWidth*bmp_inf.biHeight*2);                                                                                  fseek(fp,54L,0);                                                                                  fread(buf,1,size,fp);  fclose(fp);  for(i=0;i<(bmp_inf.biHeight>>1);i++)    for(k=i*((bmp_inf.biWidth*3+3)/4)*4,j=0;j<bmp_inf.biWidth*3;j++)       {         Tmp=buf[k+j];         buf[k+j]=buf[size-k-bmp_inf.biWidth*3+j];         buf[size-k-bmp_inf.biWidth*3+j]=Tmp;       }   for(i=0;i<(bmp_inf.biHeight);i++)    for(k=i*((bmp_inf.biWidth*3+3)/4)*4,m=i*bmp_inf.biWidth*2,j=0;j<bmp_inf.biWidth;j++)  {     /* red=(((buf[k+j*3+2])>>3))*2048;      green=(buf[k+j*3+1]>>3)*64;      blue=(buf[k+j*3]>>3);*/     red=((float)(buf[k+j*3+2]))/255*31+0.5;     green=((float)(buf[k+j*3+1]))/255*63+0.5;     blue=((float)(buf[k+j*3]))/255*31+0.5;     *(unsigned short *)(buf1+m+j*2)=(red<<11)|(green<<5)|(blue);     // *(unsigned short *)(buf1+m+j*2)=red|green|blue;       }    color_565_draw_bmp(x,y,bmp_inf.biWidth,bmp_inf.biHeight,buf1);    free(buf);    free(buf1);                                                                                }}void ShowBuf(char *Buf,short x,short y){  BMPHEAD bmp_inf;  char Tmp,*buf,*buf1,*buf2,c;  int width,height;  int red,green,blue;  long aver_size,size,i,m,j,k;  memcpy(&bmp_inf.bfSize,(Buf+2),52);  //printf("biBiCount %x\n",bmp_inf.biBitCount);  if(bmp_inf.biBitCount!=1&bmp_inf.biBitCount!=16&bmp_inf.biBitCount!=24)        {         //fclose(fp);         puts("Unsupported 2|16color bitmap!\n");         printf("bitcolor=%d\n",*((short*)&bmp_inf.biBitCount));         return;        }   else if(bmp_inf.biBitCount==1)                    //Show black and white                         {                            printf("%d* %d\n",bmp_inf.biWidth,bmp_inf.biHeight); aver_size=((bmp_inf.biWidth+15)/16)*2; //line size printf("aversize=%d\n",aver_size); size=aver_size*bmp_inf.biHeight;  buf=(char*)malloc(size);  memcpy(buf,(Buf+62),size); //fseek(fp,62L,0); // fread(buf,1,size,fp); // fclose(fp);  for(i=0;i<(bmp_inf.biHeight>>1);i++)    for(k=i*aver_size,j=0;j<aver_size;j++)       {         Tmp=buf[k+j];         buf[k+j]=buf[size-k-aver_size+j];         buf[size-k-aver_size+j]=Tmp;       }    for(i=0;i<size;i++)     buf[i]^=0xff;  printf("the width=%d\nthe height=%d\n",bmp_inf.biWidth,bmp_inf.biHeight);  my_draw_bmp(x,y,bmp_inf.biWidth,bmp_inf.biHeight,buf);   free(buf);  }   else if(bmp_inf.biBitCount==16)                              //show 16_bit BMP   SHOW_16_color_bmp   {size=bmp_inf.biWidth*bmp_inf.biHeight*2;  buf=(char*)malloc(size);  memcpy(buf,(Buf+54),size);//  fseek(fp,54L,0);                                                                fread(buf,1,size,fp);//  fclose(fp);  for(i=0;i<(bmp_inf.biHeight>>1);i++)    for(k=i*bmp_inf.biWidth*2,j=0;j<bmp_inf.biWidth*2;j++)       {         Tmp=buf[k+j];         buf[k+j]=buf[size-k-bmp_inf.biWidth*2+j];         buf[size-k-bmp_inf.biWidth*2+j]=Tmp;       }   color_555_draw_bmp(x,y, bmp_inf.biWidth,bmp_inf.biHeight,buf); // else   //  color_565_draw_bmp(x,y,bmp_inf.biWidth,bmp_inf.biHeight,buf);    free(buf);}   else if(bmp_inf.biBitCount==24)	{ printf("%d* %d\n",bmp_inf.biWidth,bmp_inf.biHeight);  size=bmp_inf.biHeight*((bmp_inf.biWidth*3+3)/4*4);  buf=(char*)malloc(size);  buf1=(char*)malloc(bmp_inf.biWidth*bmp_inf.biHeight*2);  memcpy(buf,(Buf+54),size);                                                                                // fseek(fp,54L,0);                                                                                 // fread(buf,1,size,fp);//  fclose(fp);  for(i=0;i<(bmp_inf.biHeight>>1);i++)    for(k=i*((bmp_inf.biWidth*3+3)/4)*4,j=0;j<bmp_inf.biWidth*3;j++)       {         Tmp=buf[k+j];         buf[k+j]=buf[size-k-bmp_inf.biWidth*3+j];         buf[size-k-bmp_inf.biWidth*3+j]=Tmp;       }   for(i=0;i<(bmp_inf.biHeight);i++)    for(k=i*((bmp_inf.biWidth*3+3)/4)*4,m=i*bmp_inf.biWidth*2,j=0;j<bmp_inf.biWidth;j++)  {    /*  red=(((buf[k+j*3+2])>>3))*2048;      green=(buf[k+j*3+1]>>3)*64;      blue=(buf[k+j*3]>>3);*/     red=((float)(buf[k+j*3+2]))/255*31+0.5;     green=((float)(buf[k+j*3+1]))/255*63+0.5;     blue=((float)(buf[k+j*3]))/255*31+0.5;     *(unsigned short *)(buf1+m+j*2)=(red<<11)|(green<<5)|(blue);     // *(unsigned short *)(buf1+m+j*2)=red|green|blue;       }    color_565_draw_bmp(x,y,bmp_inf.biWidth,bmp_inf.biHeight,buf1);    free(buf);    free(buf1);                                                                                }}void V_scroll_screen(short height) //Up/Down Scroll{   short dir=(height<0);	   if(dir) height=-height;	      if(height<screen_height) 	{        long nBytes=height*240*2;///////////        long nCount=240*2*(screen_height-height);	    if(dir)  //Down Scroll	       memmove(screen_ptr+nBytes,screen_ptr,nCount);	      else     //Up Scroll	       memmove(screen_ptr,screen_ptr+nBytes,nCount);	   }    else     clearscreen();	   }void H_scroll_screen(short width) //Left Scroll{ short dir=(width<0);  if(dir) width=-width;  if(width<screen_width) {   if(width&7)   //Check whether it is byte aligned  {  short nCount=screen_width*screen_height>>3;  static unsigned char mskr[]={0,1,3,7,0xf,0x1f,0x3f,0x7f},	  	       mskl[]={0,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe},		       buf[3200];  unsigned char /*buf,*/c,flag=0,d;  short start=(width>>3),length=(width&7),i,j,wid=(screen_width>>3),off;    memcpy(buf,screen_ptr,nCount);  if(dir)  {  for(off=0,j=0;j<screen_height;j++,off+=wid)  {   for(flag=0,i=wid-1;i>=start;i--)   {	d=c=*(buf+off+i);	c<<=length;	if(flag) c|=(flag>>(8-length));	flag=d&mskl[length];	*(buf+off+i)=c;   }  if(start)    for(i=wid-start;i<wid;i++)    {	*(buf+off+i)=0;    }  }  }  else  for(off=0,j=0;j<screen_height;j++,off+=wid)  {   for(flag=0,i=start;i<wid;i++)   {	d=c=*(buf+off+i);	c>>=length;	if(flag) c|=(flag<<(8-length));	flag=d&mskr[length];	*(buf+off+i)=c;   }  if(start)    for(i=0;i<start;i++)    {	*(buf+off+i)=0;    }  }  memcpy(screen_ptr,buf,nCount);   } else  {    short i,j=0,wid=screen_width>>3;        width>>=3;    for(i=0;i<screen_height;i++,j+=wid)    {	    memmove(screen_ptr+j+width,screen_ptr+j,wid-width);	    memset(screen_ptr+j,0,width);    }  } } else   clearscreen();}void textout(short x,short y,unsigned char *buf,unsigned short color,unsigned short groundcolor){  int i,j,count=strlen(buf);  short k,l,m=screen_width>>3;  char pixel[32];#ifdef FONT  if(!font) {		puts("Please Init Chinese Enviroment First!");	//	printf(X\n");                return;           }#endif  if(x<0) x=0;else if(x>240) x=240;if(y<0) y=0;else if(y>320) y=320;  for(i=0;i<count;) //1  {   if((buf[i]>=161)&&(buf[i+1]>=161))///2     {       j=((buf[i]-161)*94+(buf[i+1]-161))<<5;       fseek(C_Font,j,SEEK_SET);       fread(pixel,32,1,C_Font);       if((x+16)>screen_width) {                             y+=16;                             x=0;                           }       if(y+16>screen_height) {V_scroll_screen(y+16-screen_height);////up                                XY_clearscreen(0,screen_height-16,screen_width-1,screen_height-1);                                y=screen_height-16;                              }       draw_bmp(x,y,2,16,pixel,color,groundcolor);       x+=16;  	              i+=2;     }    else     {        if(buf[i]=='\n') {if(y+16>screen_height) {V_scroll_screen(y+16-screen_height);////up                                XY_clearscreen(0,screen_height-16,screen_width-1,screen_height-1);                                y=screen_height-16;                              }                          else y+=16;	      		  x=0;	           			}        else        {if((x+8)>screen_width) {                             y+=16;                             x=0;                           }       if(y+16>screen_height) {V_scroll_screen(y+16-screen_height);////up                               XY_clearscreen(0,screen_height-16,screen_width-1,screen_height-1);                               y=screen_height-16;                           }	      draw_bmp(x,y,1,16,E_Font+(buf[i]<<4),color,groundcolor);		      x+=8;        }       i++;     }///end 2   }//end 1  }void setmode(CopyMode mode){  Mode=mode;}CopyMode getmode(void)	{  return Mode;	}void setcolor(short color){  Color=color;}UINT getcolor(void){	return Color;}void setfillpattern(PatternIndex index){  P_Index=index;	}PatternIndex getfillpattern(void){  return P_Index;	}void moveto(short x,short y){	X=x;Y=y;}void lineto(short x,short y){	line(x,y,X,Y);	X=x;Y=y;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品午夜免费| 欧美精品一区二区精品网| 中文字幕制服丝袜成人av| 日本高清不卡aⅴ免费网站| 日日骚欧美日韩| 国产精品视频观看| 欧美日韩免费观看一区二区三区| 久久电影网电视剧免费观看| 国产精品久久久久桃色tv| 成人性生交大合| 天堂资源在线中文精品| 久久久99精品久久| 欧美视频三区在线播放| 国产成人在线色| 无码av中文一区二区三区桃花岛| 欧美国产成人在线| 亚洲一区在线观看免费| 日韩三级电影网址| 色婷婷国产精品| 国产成人自拍在线| 欧美aaaaa成人免费观看视频| 中文字幕乱码一区二区免费| 7777精品伊人久久久大香线蕉完整版| 成人免费视频一区二区| 日韩成人午夜电影| 亚洲免费视频中文字幕| 精品国产1区二区| 欧美美女黄视频| 91视频www| 国产精品一二三区在线| 蜜臀av一区二区在线免费观看| 亚洲欧洲av另类| 日本一区二区三级电影在线观看| 91精品国产综合久久香蕉的特点| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲婷婷综合久久一本伊一区| 日韩三级av在线播放| 成人网页在线观看| 国产一区二区三区在线看麻豆| 日韩高清中文字幕一区| 亚洲午夜久久久久中文字幕久| 中文字幕在线观看一区| 国产日产欧产精品推荐色| 精品国产亚洲在线| 欧美性色黄大片| 色狠狠综合天天综合综合| av午夜精品一区二区三区| 国产激情一区二区三区四区 | 国产精品久久久久久妇女6080 | 久久久美女毛片| 日韩欧美亚洲另类制服综合在线| 欧美三级日韩三级| 欧洲精品中文字幕| 色综合激情久久| 色综合中文字幕| 白白色 亚洲乱淫| av网站一区二区三区| 成人a区在线观看| 99精品国产视频| 91视视频在线观看入口直接观看www| 国产aⅴ精品一区二区三区色成熟| 国精品**一区二区三区在线蜜桃| 久久激情综合网| 久久97超碰国产精品超碰| 久久99精品国产麻豆不卡| 老司机精品视频导航| 国产一区二区不卡| 国产最新精品免费| 久久国产精品露脸对白| 国产一区二区三区| 日韩精品一区二区三区老鸭窝 | 成人天堂资源www在线| 国产不卡在线视频| 波多野结衣一区二区三区| bt欧美亚洲午夜电影天堂| 成人综合在线视频| 日本道在线观看一区二区| 欧美片在线播放| 欧美白人最猛性xxxxx69交| 2023国产精品视频| 久久久久国产精品人| 国产精品久久久久aaaa| 亚洲日本一区二区| 丝袜美腿亚洲一区二区图片| 精品在线视频一区| 成人激情免费视频| 欧美日本在线播放| 精品国产一区二区三区忘忧草 | 日本欧美加勒比视频| 蜜桃传媒麻豆第一区在线观看| 国产一区日韩二区欧美三区| av在线播放一区二区三区| 在线欧美日韩国产| 精品国产乱子伦一区| 国产精品网友自拍| 亚洲午夜精品网| 国产一区欧美一区| 欧美亚洲高清一区| 91精品国产综合久久婷婷香蕉| 久久久久久久久久电影| 亚洲图片欧美色图| 国产精品99久久久久久久vr| 91电影在线观看| 日韩色在线观看| 亚洲欧美怡红院| 日本一区中文字幕| 成人免费毛片a| 欧美一区二区三区免费大片| 中文无字幕一区二区三区| 午夜伦理一区二区| 成人动漫av在线| 日韩一区二区三区av| 一区精品在线播放| 久99久精品视频免费观看| 色八戒一区二区三区| 国产亚洲综合在线| 精品在线一区二区三区| 欧美色涩在线第一页| 亚洲欧美一区二区三区孕妇| 国产成人激情av| 久久久www成人免费无遮挡大片| 日本视频一区二区三区| 欧美少妇一区二区| 亚洲一区二区三区四区在线免费观看| 成人免费观看视频| 国产精品久久久久久久久晋中| 国产麻豆成人精品| 亚洲精品一区在线观看| 美女一区二区久久| 日韩精品专区在线影院观看| 日韩国产欧美在线视频| 欧美日韩国产不卡| 午夜成人免费视频| 在线电影国产精品| 日韩成人伦理电影在线观看| 在线播放中文字幕一区| 水蜜桃久久夜色精品一区的特点| 欧美老肥妇做.爰bbww视频| 亚洲成a人片在线不卡一二三区| 欧美三级日韩三级国产三级| 亚洲丶国产丶欧美一区二区三区| 欧美日韩你懂的| 日韩高清不卡一区二区三区| 日韩一区二区三区免费看| 青青草伊人久久| 精品sm捆绑视频| 国产麻豆精品久久一二三| 欧美激情一区二区三区在线| 成人动漫一区二区在线| 亚洲九九爱视频| 欧美精品v国产精品v日韩精品| 日本免费在线视频不卡一不卡二| 精品久久一二三区| 丁香亚洲综合激情啪啪综合| 亚洲人妖av一区二区| 欧美色大人视频| 日韩成人dvd| 久久夜色精品一区| 99riav久久精品riav| 亚洲国产wwwccc36天堂| 日韩欧美国产一区在线观看| 国产成人日日夜夜| 亚洲欧洲日本在线| 欧美日韩高清一区二区| 加勒比av一区二区| 亚洲欧洲精品一区二区精品久久久 | 国产精品免费免费| 欧美性色欧美a在线播放| 久久国产尿小便嘘嘘尿| 国产蜜臀av在线一区二区三区| 色综合天天综合色综合av| 日本中文在线一区| 国产精品丝袜在线| 欧美优质美女网站| 国产一区中文字幕| 亚洲一区欧美一区| 久久一留热品黄| 欧美三级电影在线看| 国产一区二区三区免费观看| 亚洲人成在线播放网站岛国| 欧美一卡二卡在线| 成人免费黄色大片| 免费高清在线一区| 亚洲三级在线免费| 日韩免费高清视频| 日本伦理一区二区| 国产精品羞羞答答xxdd| 亚洲成人综合网站| 国产精品视频一二三| 日韩网站在线看片你懂的| 99久久精品国产毛片| 九色porny丨国产精品| 一区二区三区**美女毛片| 精品国产一二三| 欧美日韩国产在线观看| 99精品久久免费看蜜臀剧情介绍| 美女在线一区二区| 亚洲成人资源在线| 成人免费在线观看入口| 久久综合九色综合97婷婷女人 |