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;
}

  

最终效果

 

posted @ 2018-03-21 11:11  勿在浮沙筑高台  阅读(507)  评论(0编辑  收藏  举报