/* test_xbmread.c test program */ /* needs xbm.h and xbmread.c */ #include int xbmread(char file_name[], int RGBA, int RGBA_back, int * width, int * height, unsigned char rgbpix[]); int main(int argc, char * argv[]) { int status, i, j, k; unsigned char rgbpix[200000]; int width; int height; int RGBA = 256*255; /* blue */ int RGBA_back = 0; /* black */ if(argc<2) { printf("test_xbmread needs a file name xxx.xbm \n"); return 0; } printf("test_xbmread calling xbmread on file %s\n", argv[1]); status = xbmread(argv[1], RGBA, RGBA_back, &width, &height, rgbpix); printf("test_xbmread , RGBA=%X, RGBA_back=%X, returned status=%d, width=%d, height=%d \n", RGBA, RGBA_back, status, width, height); k=0; for(i=0; i<30; i++) /* all data i=width*height) break; /* last line may have some junk */ if((k/4)%width==0) {printf("\n"); j=0;} printf("%03u %03u %03u %03u ", rgbpix[k], rgbpix[k+1], rgbpix[k+2], rgbpix[k+3]); k = k+4; } printf("\n"); if(k/4>=width*height) break; /* last line may have some junk */ } printf("test_xbmread again xbmread on file %s\n", argv[1]); RGBA = 255*256*256; /* green */ RGBA_back = -1; /* white */ status = xbmread(argv[1], RGBA, RGBA_back, &width, &height, rgbpix); printf("test_xbmread , RGBA=%X, RGBA_back=%X, returned status=%d, width=%d, height=%d \n", RGBA, RGBA_back, status, width, height); k=0; for(i=0; i<30; i++) /* all data i=width*height) break; /* last line may have some junk */ if((k/4)%width==0) {printf("\n"); j=0;} printf("%03u %03u %03u %03u ", rgbpix[k], rgbpix[k+1], rgbpix[k+2], rgbpix[k+3]); k = k+4; } printf("\n"); if(k/4>=width*height) break; /* last line may have some junk */ } return 0; }