输出三色旗
int main(int argc, const char *argv[])
{
int bmp_size=0,bmp_w=0,bmp_h=0;
FILE* fp=fopen("./rising_freedom.bmp","r+");
fseek(fp,2,SEEK_SET);
fread(&bmp_size,4,1,fp);
printf("图片大小:%d\n",bmp_size);
fseek(fp,18,SEEK_SET);
fread(&bmp_w,4,1,fp);
printf("宽度:%d\n",bmp_w);
fseek(fp,22,SEEK_SET);
fread(&bmp_h,4,1,fp);
printf("高度:%d\n",bmp_h);
unsigned char bgr[3];
fseek(fp,54,SEEK_SET);
fread(bgr,3,1,fp);
printf("第一个像素点的值%d %d %d\n",bgr[0],bgr[1],bgr[2]);
int i,j;
fseek(fp,54,SEEK_SET);
for(i=0;i<bmp_w;i++)
{
for(j=0;j<bmp_h;j++)
{
fread(bgr,3,1,fp);
}
}
printf("最后一个像素点值为%d %d %d\n",bgr[0],bgr[1],bgr[2]);
fseek(fp,54,SEEK_SET);
unsigned char blc[3]={0,0,0};
unsigned char red[3]={0,0,255};
unsigned char yel[3]={0,255,255};
for(int i=0;i<bmp_w/3;i++)
{
for(int j=0;j<bmp_h;j++)
{
fwrite(yel,3,1,fp);
}
}
for(int i=0;i<(bmp_w/3);i++)
{
for(int j=0;j<bmp_h;j++)
{
fwrite(red,3,1,fp);
}
}
for(int i=0;i<bmp_w/3;i++)
{
for(int j=0;j<bmp_h;j++)
{
fwrite(blc,3,1,fp);
}
}
return 0;
}