//------------------------------------------------------------------------ // Pixels: RGB array of size WH (rows) * WW (columns) //------------------------------------------------------------------------ void SnapShot(unsigned byte* Pixels, unsigned WW, unsigned WH) { FILE *fp; // GENERATE A UNIQUE FILENAME char FileName[40]; static int SnapShotNum=100; int UniqueFound=0; do { sprintf(FileName,"snap%d.ppm", SnapShotNum); if (fp=fopen(FileName,"r")) fclose(fp); else UniqueFound=1; SnapShotNum++; } while(!UniqueFound); unsigned NumPixels = WW * WH; if (Pixels==NULL) { printf("EMPTY PIXEL ARRAY!\n"); return; } fp = fopen(FileName, "wb"); fprintf(fp, "P6\n%d %d\n255\n", WW, WH); fwrite(Pixels,1,NumPixels*3,fp); fclose(fp); }