⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bmp16.c

📁 STM32_电子相框.rar
💻 C
字号:
 typedef struct
{
	uint8  pic_head[2];				//1
	uint16 pic_size_l;			    //2
	uint16 pic_size_h;			    //3
	uint16 pic_nc1;				    //4
	uint16 pic_nc2;				    //5
	uint16 pic_data_address_l;	    //6
	uint16 pic_data_address_h;		//7	
	uint16 pic_message_head_len_l;	//8
	uint16 pic_message_head_len_h;	//9
	uint16 pic_w_l;					//10
	uint16 pic_w_h;				    //11
	uint16 pic_h_l;				    //12
	uint16 pic_h_h;				    //13	
	uint16 pic_bit;				    //14
	uint16 pic_dip;				    //15
	uint16 pic_zip_l;			    //16
	uint16 pic_zip_h;			    //17
	uint16 pic_data_size_l;		    //18
	uint16 pic_data_size_h;		    //19
	uint16 pic_dipx_l;			    //20
	uint16 pic_dipx_h;			    //21	
	uint16 pic_dipy_l;			    //22
	uint16 pic_dipy_h;			    //23
	uint16 pic_color_index_l;	    //24
	uint16 pic_color_index_h;	    //25
	uint16 pic_other_l;			    //26
	uint16 pic_other_h;			    //27
	uint16 pic_color_p01;		    //28
	uint16 pic_color_p02;		    //29
	uint16 pic_color_p03;		    //30
	uint16 pic_color_p04;		    //31
	uint16 pic_color_p05;		    //32
	uint16 pic_color_p06;		    //33
	uint16 pic_color_p07;		    //34
	uint16 pic_color_p08;			//35			
}BMP_HEAD;

BMP_HEAD bmp;

typedef struct
{
	uint16 x;
	uint16 y;
	uint8  r;
	uint8  g;
	uint8  b;		
}BMP_POINT;

BMP_POINT point;




 


    FATFS fs;            // Work area (file system object) for logical drive
    FIL fsrc, fdst;      // file objects
    char buffer[4096*2]; // file copy buffer
    FRESULT res;         // FatFs function common result code
    u16 br, bw;         // File R/W count
	u32 tx,ty,r_data,g_data,b_data;	
    f_mount(0, &fs);



//while(1){
  res = f_open(&fsrc, "1.BMP", FA_OPEN_EXISTING | FA_READ);
  res = f_read(&fsrc, &bmp, sizeof(bmp), &br);
   
     	printf("      下一个文件信息    ");		
	    printf("文件类型:  BMP");
		printf("大小: %d         字节 /n",(bmp.pic_size_h<<16)|(bmp.pic_size_l));	
		printf("宽度: %d        /n ",(bmp.pic_w_h<<16)|(bmp.pic_w_l));	
		printf("高度: %d        /n "(bmp.pic_h_h<<16)|(bmp.pic_h_l));		
		printf("水平分辨率: %d  /n ",	(bmp.pic_dipx_h<<16)|(bmp.pic_dipx_l));  
		printf("垂直分辨率: %d  /n",(bmp.pic_dipy_h<<16)|(bmp.pic_dipy_l));		
		printf("位深度: %d  /n "bmp.pic_dip);				
		printf("帧数:   %d  /n "bmp.pic_bit);	
		f_close(&fsrc);					
  /*
	if((bmp.pic_head[0]=='B')&&(bmp.pic_head[1]=='M'))
{
	res = f_lseek(&fsrc, ((bmp.pic_data_address_h<<16)|bmp.pic_data_address_l));
	for(ty=0;ty<bmp.pic_h_l;ty++)
        {
	f_read(&fsrc, buffer, (bmp.pic_w_l)*3, &br);
	   for(tx=0;tx<bmp.pic_w_l;tx++)
          {
	   r_data = *(tx*3 +2+buffer);
	   g_data = *(tx*3 +1+buffer);
	   b_data = *(tx*3 +0+buffer);	
     	if(tx<240)
        {
	point.x = tx;
	point.y = bmp.pic_h_l-1-ty;
        point.r = r_data;
        point.g = g_data;
        point.b = b_data;
	}
		}		
						}				
					}
					f_close(&fsrc);										
								
								
									 */


	
				
		//		GUI_Point( ((BMP_POINT*)lcdt)->x ,((BMP_POINT*)lcdt)->y , 
	//	RGB888ToRGB565( ((BMP_POINT*)lcdt)->r,((BMP_POINT*)lcdt)->g,((BMP_POINT*)lcdt)->b ));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -