36 lines
887 B
Text
36 lines
887 B
Text
|
/* Handle PNM-files Dez98 JS
|
||
|
* 0,0 = left up
|
||
|
* PAM-formats
|
||
|
* PAM any P7
|
||
|
* PNM-formats
|
||
|
* PGM gray ASCII=P2 RAW=P5 dx dy col gray
|
||
|
* PPM RGB ASCII=P3 RAW=P6 dx dy col RGB
|
||
|
* PBM B/W ASCII=P1 RAW=P4 dx dy bitmap
|
||
|
*/
|
||
|
|
||
|
#ifndef GOCR_PNM_H
|
||
|
#define GOCR_PNM_H 1
|
||
|
|
||
|
#include "config.h"
|
||
|
|
||
|
struct pixmap {
|
||
|
unsigned char *p; /* pointer of image buffer (pixmap) */
|
||
|
int x; /* xsize */
|
||
|
int y; /* ysize */
|
||
|
int bpp; /* bytes per pixel: 1=gray 3=rgb */
|
||
|
};
|
||
|
typedef struct pixmap pix;
|
||
|
|
||
|
/* return 1 on multiple images (holding file open), 0 else */
|
||
|
int readpgm(char *name, pix *p, int vvv);
|
||
|
|
||
|
/* write pgm-map to pnm-file */
|
||
|
int writepgm(char *nam, pix *p);
|
||
|
int writepbm(char *nam, pix *p);
|
||
|
int writeppm(char *nam, pix *p); /* use lowest 3 bits for farbcoding */
|
||
|
|
||
|
/* ----- count colors ------ create histogram ------- */
|
||
|
void makehisto(pix p, unsigned col[256], int vvv);
|
||
|
|
||
|
#endif
|