#ifndef __INCLUDE_PNM_READ_H__ #define __INCLUDE_PNM_READ_H__ #ifndef TRUE #define TRUE #endif #ifndef FALSE #define FALSE #endif #define MAX_PATH 256 //----------------------------------------------------------------- // 画像データ //----------------------------------------------------------------- typedef unsigned char PIXEL; typedef struct RGB_PACKED_PIXEL { PIXEL r; PIXEL g; PIXEL b; } CPIXEL; //----------------------------------------------------------------- // 画像形式 //----------------------------------------------------------------- enum PNM_TYPE { PNM_P1 = 1, // PBM(アスキー) PNM_P2 = 2, // PGM(アスキー) PNM_P3 = 3, // PPM(アスキー) PNM_P4 = 4, // PBM(バイナリ) PNM_P5 = 5, // PGM(バイナリ) PNM_P6 = 6, // PPM(バイナリ) }; //----------------------------------------------------------------- // 画像情報 //----------------------------------------------------------------- typedef struct PNM_IMAGE_INFO{ int itype; int iw,ih; int imax; } PNMInfo; //----------------------------------------------------------------- // 関数宣言 //----------------------------------------------------------------- PIXEL* read_pnm(char* ifile,PNMInfo* pi); PIXEL* ppm2bmp(PNMInfo pi,PIXEL* pdata); PIXEL* pgm2bmp(PNMInfo pi,PIXEL* pdata); void disp_header(PNMInfo pi); void PNM_Gimgread(FILE** fp,PNMInfo pi,PIXEL* pdata); void PNM_Cimgread(FILE** fp,PNMInfo pi,PIXEL* pdata); void write_pnm(char* ofile,PNMInfo pi,PIXEL* pdata); void PNM_Headout(FILE** fp,PNMInfo pi); void PNM_Gimgout(FILE** fp,PNMInfo pi,PIXEL* pdata); void PNM_Cimgout(FILE** fp,PNMInfo pi,PIXEL* pdata); void pnmSetPixel(PNMInfo pi,PIXEL* pdata,int x,int y,PIXEL p); void pnmGetPixel(PNMInfo pi,PIXEL* pdata,int x,int y,PIXEL* p); void pnmSetRGB(PNMInfo pi,PIXEL* pdata,int x,int y,CPIXEL p); void pnmGetRGB(PNMInfo pi,PIXEL* pdata,int x,int y,CPIXEL* p); #endif //__INCLUDE_PNM_READ_H__