/* * WritePPM Copyright (C) 2008-2009 Paolo Medici * * This library is free software; you can redistribute it and/or modify it under the terms of the * GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License along with this library; if not, * write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <stdio.h> /** Write a PPM file * @param filename a file * @param buf an RGB buffer * @param width geometry of buffer * @param height geometry of buffer * @return TRUE if file is created */ int WritePPM(const char *filename, const unsigned char *buf, unsigned int width, unsigned int height) { FILE *fp = fopen(filename,"wb"); if(fp) { fprintf(fp, "P6\n%u %u\n255\n", width, height); fwrite(buf, width*3,height, fp); fclose(fp); return 1; } else return 0; } /** Write a PGM file * @param filename a file * @param buf an greyscale buffer * @param width geometry of buffer * @param height geometry of buffer * @return TRUE if file is created */ int WritePGM(const char *filename, const unsigned char *buf, unsigned int width, unsigned int height) { FILE *fp = fopen(filename,"wb"); if(fp) { fprintf(fp, "P5\n%u %u\n255\n", width, height); fwrite(buf, width,height, fp); fclose(fp); return 1; } else return 0; }