10
2018
10

c语言保存bmp、png图片

用c语言写算法,想要得到一些可视化的输出,又不想用外部的图形库,或者调用系统的API。

只需要用标准的文件读写函数,就可以创建一个图片。

生成bmp文件:

#include <stdio.h>
#include <stdlib.h>
#define w 200
#define h 200
void WriteBMP(char*img,const char* filename)
{
    int l=(w*3+3)/4*4;
    int bmi[]= {l*h+54,0,54,40,w,h,1|3*8<<16,0,l*h,0,0,100,0};
    FILE *fp = fopen(filename,"wb");
    fprintf(fp,"BM");
    fwrite(&bmi,52,1,fp);
    fwrite(img,1,l*h,fp);
    fclose(fp);
}
int main()
{
    char img[w*h*3];
    for(int i=0; i<w*h*3; i++)img[i]=rand()%256;
    WriteBMP(img,"test.bmp");
    // system("test.bmp");
    return 0;
}

生成png文件:

Milo Yip大神的代码。

地址:http://github.com/miloyip/svpng




« 上一篇下一篇 »

相关文章:

曲线拟合、平滑  (2016-4-27 9:13:10)

c语言学习网站收藏  (2016-4-22 7:35:19)

把C++当脚本语言写(转)  (2016-2-24 9:41:35)

flascc:使用SWIG创建swc  (2015-7-20 14:28:51)

air for desktop结合c++开发  (2015-3-4 16:11:1)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。