FILE * fp;
FILE * newfile;
char * path = "E://CarlyFiorina.bmp";
char * newpath = "E://new.bmp";
fp = fopen(path, "rb");
newfile = fopen(newpath, "wb");
fseek(fp, 0L, SEEK_END);
int length = ftell(fp);
rewind(fp);
printf("file length is %d/n", length);
unsigned char header[54];
fread(header, 1, 54, fp);
fwrite(header, 1, 54, newfile);
int width = header[18] + header[19] * (2<<8);
printf("image width is :%d/n", width);
printf("bit depth is :%d/n", header[28]);
unsigned char bit[3];
while (feof(fp) == 0)
{
fread(bit, sizeof(char), 3, fp);
int gray = (bit[2] * 30 + bit[1] * 59+ bit[0] * 11) / 100;
bit[0] = gray;
bit[1] = gray;
bit[2] = gray;
fwrite(bit, sizeof(char), 3, newfile);
}
fclose(fp);
fclose(newfile);
bmp转灰度图
最新推荐文章于 2019-10-12 22:18:29 发布
8912

被折叠的 条评论
为什么被折叠?



