/* * FLOATIMG - a kluge from tTh * --------------------------- * * some strange effects on floating pictures, made in * the batcave of "Le Bib", in Montpellier. */ #include #include #include #include "../floatimg.h" extern int verbosity; /* -------------------------------------------------------------- */ int fimg_crump_hard(FloatImg *src, FloatImg *dst, float kval, int notused) { float halfval; float rgb[3]; int x, y, foo; #if DEBUG_LEVEL fprintf(stderr, ">>> %s ( %p %p %f 0x%04x )\n", __func__, src, dst, kval, notused); #endif halfval = fimg_get_maxvalue(src) / 2.0; if (verbosity > 1) { fprintf(stderr, "%s: halfval=%f\n", __func__, halfval); } for (y=0; yheight; y++) { for (x=0; xwidth; x++) { foo = fimg_get_rgb(src, x, y, rgb); if (foo) return foo; if (rgb[0] > halfval) rgb[0] /= 2.0; if (rgb[1] > halfval) rgb[1] /= 2.0; if (rgb[2] > halfval) rgb[2] /= 2.0; foo = fimg_put_rgb(dst, x, y, rgb); if (foo) return foo; } } return 0; } /* -------------------------------------------------------------- */