diff --git a/.gitignore b/.gitignore index 78d14113..6a7df6e0 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,6 @@ lib/*.fimg lib/*.png lib/*.gif -funcs/*.o *.a gmon.out @@ -26,7 +25,9 @@ doc/*.ilg doc/*.ind funcs/t +funcs/*.o funcs/*.png +funcs/*.gif scripts/*.fimg scripts/*.pnm diff --git a/floatimg.h b/floatimg.h index 1967db0a..3889d096 100644 --- a/floatimg.h +++ b/floatimg.h @@ -78,6 +78,7 @@ int fimg_maximum(FloatImg *a, FloatImg *b, FloatImg *d); /* 'sfx0' module */ int fimg_killcolors_a(FloatImg *fimg, float fval); +int fimg_killcolors_b(FloatImg *fimg, float fval); /* PNM files module */ diff --git a/funcs/sfx0.c b/funcs/sfx0.c index d602691e..9f9c59d2 100644 --- a/funcs/sfx0.c +++ b/funcs/sfx0.c @@ -22,15 +22,33 @@ if (FIMG_TYPE_RGB != fimg->type) { } nbpix = fimg->width * fimg->height; - for (foo=0; fooR[foo] > fimg->G[foo]) fimg->B[foo] = fimg->R[foo]; else fimg->B[foo] = fimg->G[foo]; - - } + } + +return 0; +} +/* --------------------------------------------------------------------- */ +int fimg_killcolors_b(FloatImg *fimg, float fval) +{ +int nbpix, foo; + +if (FIMG_TYPE_RGB != fimg->type) { + fprintf(stderr, "%s: bad src type %d on %p\n", __func__, + fimg->type, fimg); + return -8; + } + +nbpix = fimg->width * fimg->height; +for (foo=0; fooR[foo] > fimg->B[foo]) + fimg->G[foo] = fimg->R[foo]; + else + fimg->G[foo] = fimg->B[foo]; + } return 0; } diff --git a/funcs/t.c b/funcs/t.c index b6eff52b..54e6cffb 100644 --- a/funcs/t.c +++ b/funcs/t.c @@ -18,14 +18,23 @@ int essai_sfx0(char *infile) FloatImg fimg; int foo; -fimg_create(&fimg, 512, 512, FIMG_TYPE_RGB); +if (NULL != infile) { + fprintf(stderr, "loading %s\n", infile); + fimg_create_from_dump(infile, &fimg); + } +else { + fimg_create(&fimg, 512, 512, FIMG_TYPE_RGB); + fimg_draw_something(&fimg); + } -fimg_draw_something(&fimg); foo = fimg_save_as_pnm(&fimg, "something.pnm", 0); foo = fimg_killcolors_a(&fimg, 0.0); +foo = fimg_save_as_pnm(&fimg, "colorskilled-a.pnm", 0); + +foo = fimg_killcolors_b(&fimg, 0.0); +foo = fimg_save_as_pnm(&fimg, "colorskilled-b.pnm", 0); -foo = fimg_save_as_pnm(&fimg, "colorskilled.pnm", 0); return 0; } @@ -125,7 +134,7 @@ int foo; puts("++++++++++++++++++++++++++++++++"); -foo = essai_sfx0(NULL); +foo = essai_sfx0("03384.fimg"); return 0; }