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; }
最终效果