/* * FloatImg from tTh - 2021 */ #include #include #include "../floatimg.h" extern int verbosity; /* must be declared around main() */ /* --------------------------------------------------------------------- */ void fimg_print_minmax(float minmax[6], char *titre) { fprintf(stderr, "\t\tminmax %s\n", titre); fprintf(stderr, "red\t\t%10f %10f\n", minmax[0], minmax[1]); fprintf(stderr, "green\t\t%10f %10f\n", minmax[2], minmax[3]); fprintf(stderr, "blue\t\t%10f %10f\n", minmax[4], minmax[5]); } /* --------------------------------------------------------------------- */ int parse_WxH(char *str, int *pw, int *ph) { // char *ptr; int foo, w, h; #if DEBUG_LEVEL fprintf(stderr, ">>> %s ( '%s' %p %p )\n", __func__, str, pw, ph); #endif foo = sscanf(str, "%dx%d", &w, &h); if (2 != foo) { fprintf(stderr, "%s : arg '%s' is invalid\n", __func__, str); return foo; } *pw = w; *ph = h; return 2; } /* --------------------------------------------------------------------- */ int parse_double(char *str, double *dptr) { double value; int foo; foo = sscanf(str, "%lf", &value); if (1 == foo) { *dptr = value; return 1; } return -1; } /* --------------------------------------------------------------------- */ int format_from_extension(char *fname) { char *cptr; cptr = rindex(fname, '.'); if (NULL==cptr) { fprintf(stderr, "No dot in %s\n", fname); return -1; } #if DEBUG_LEVEL fprintf(stderr, "[%s] --> [%s]\n", fname, cptr); #endif if (!strcasecmp(cptr, ".pnm" )) return FILE_TYPE_PNM; if (!strcasecmp(cptr, ".fimg")) return FILE_TYPE_FIMG; if (!strcasecmp(cptr, ".tga" )) return FILE_TYPE_TGA; if (!strcasecmp(cptr, ".png" )) return FILE_TYPE_PNG; if (!strcasecmp(cptr, ".tiff")) return FILE_TYPE_TIFF; if (!strcasecmp(cptr, ".tif" )) return FILE_TYPE_TIFF; if (!strcasecmp(cptr, ".fits")) return FILE_TYPE_FITS; if (!strcasecmp(cptr, ".exr")) return FILE_TYPE_EXR; return -1; } /* --------------------------------------------------------------------- */