24位图彩色转黑白

#include<stdio.h>

int main()

{

    FILE *fp,*fp1;

fp=fopen("/Users/lanou/Desktop/1.bmp","rb");

fp1=fopen("/Users/lanou/Desktop/6.bmp","wb");

char head[54];

unsignedchar wrt;

//unsigned int no=1;

unsigned char r=0,b=0,g=0;

    //int no_avg=1;

fread(head,1,54,fp);

fwrite(head,1,54,fp1);

unsigned size = *(unsigned*)(head+2);

size=size-54;

//size /= 3;

while(size--)

{

b = getc(fp);

g = getc(fp);

r = getc(fp);

wrt = (b+g+r)/3;

putc(wrt,fp1);

putc(wrt,fp1);

putc(wrt,fp1);

}

    

printf("OK");

    

fclose(fp);

fclose(fp1);

}

 

posted @ 2013-09-27 16:43  月影空  阅读(227)  评论(0编辑  收藏  举报