C语言 - 采用PPM格式绘图
准备工作:
下载IrfanView软件(一款图像查看软件), 支持多种图片格式的浏览, 同时支持ppm格式的查看
PPM格式概述, P6 表示: 二进制PPM格式 640表示宽度, 480表示高度, 255表示颜色值范围0-255. 后面其他的为图像数据

下面为C语言,生成一个640 * 480 的ppm图像, 设置红色分量值为255, 绿色分量为0, 蓝色分量为255.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
int width = 640;
int height = 480;
char *Canvas = (char *)malloc(sizeof(char) * width * height * 3);
memset(Canvas, 255, width * height * 3);
FILE *fp;
fp = fopen("test.ppm", "w+");
int i, j;
char sHeader[100];
sprintf(sHeader, "P6 %d %d 255 ", width, height);
fwrite(sHeader, sizeof(char), strlen(sHeader), fp);
for (i = 0; i < width; i++)
{
for (j = 0; j < height; j++)
{
int index = j * width * 3 + i * 3;
Canvas[index] = 255; // Red
Canvas[index + 1] = 0; // Green
Canvas[index + 2] = 255; // Blue
}
}
fwrite(Canvas, sizeof(char), width * height * 3, fp);
fclose(fp);
free(Canvas);
return 0;
}
最终效果


浙公网安备 33010602011771号