将一张bmp图片,修改成德国国旗
int i,j;
int size = 0;
int width = 0;
int height = 0;
char bgr1[3] = {0,0,0}; //black
char bgr2[3] = {0,0,255}; //red
char bgr3[3] = {0,215,255}; //gold
FILE *fp = fopen("./QQ.bmp","r+");
if(fp == NULL){
perror("fopen");
return 1;
}
fseek(fp,2,SEEK_SET);
fread(&size,4,1,fp);
printf("size = %d\n",size);
fseek(fp,18,SEEK_SET);
fread(&width,4,1,fp);
fread(&height,4,1,fp);
printf("pix = %d * %d\n",width,height);
fseek(fp,54,SEEK_SET);
for(i=0;i<width;i++){
for(j=0;j<height/3;j++){
fwrite(bgr3,3,1,fp);
}
}
for(i=0;i<width;i++){
for(j=height/3;j<height/3*2;j++){
fwrite(bgr2,3,1,fp);
}
}
for(i=0;i<width;i++){
for(j=height/3*2;j<height;j++){
fwrite(bgr1,3,1,fp);
}
}
return 0;