首页 > 代码库 > C语言乱谈(一) 20行代码生成BMP
C语言乱谈(一) 20行代码生成BMP
在学习图形图像的过程中,最简单和常见的格式是BMP和PPM。下面将给出生成BMP的极度精简代码,然后讲解BMP格式。
1 #include <stdio.h> 2 #include <stdlib.h> 3 #define w 200 4 #define h 200 5 void WriteBMP(char*img,const char* filename) 6 { 7 int l=(w*3+3)/4*4; 8 int bmi[]= {l*h+54,0,54,40,w,h,1|3*8<<16,0,l*h,0,0,100,0}; 9 FILE *fp = fopen(filename,"wb");10 fprintf(fp,"BM");11 fwrite(&bmi,52,1,fp);12 fwrite(img,1,l*h,fp);13 fclose(fp);14 }15 int main()16 {17 char img[w*h*3];18 for(int i=0; i<w*h*3; i++)img[i]=rand()%256;19 WriteBMP(img,"test.bmp");20 system("test.bmp");21 return 0;22 }
上述代码生成一幅宽和高均为200的BMP随机位图。如图所示:
BMP格式说明,待续。。。
C语言乱谈(一) 20行代码生成BMP
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。