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转灰度图
最新推荐文章于 2022-07-06 19:07:43 发布