diff --git a/floatimg.h b/floatimg.h index ebf8cea..7bb505e 100644 --- a/floatimg.h +++ b/floatimg.h @@ -143,6 +143,7 @@ int fimg_load_from_png(char *filename, FloatImg *fimg); int fimg_create_from_png(char *filename, FloatImg *fimg); int fimg_save_as_png(FloatImg *src, char *outname, int flags); +int fimg_test_pattern(FloatImg *fimg, int type, double dval); int fimg_draw_something(FloatImg *fimg); int parse_WxH(char *str, int *pw, int *ph); diff --git a/funcs/misc-plots.c b/funcs/misc-plots.c index ae730e4..5bcfbf8 100644 --- a/funcs/misc-plots.c +++ b/funcs/misc-plots.c @@ -11,6 +11,57 @@ /* --------------------------------------------------------------------- */ +int fimg_test_pattern(FloatImg *fimg, int type, double dval) +{ +int nio; +int x, y; +float fr, fg, fb; + +#if DEBUG_LEVEL +fprintf(stderr, ">>> %s ( %p %d %g )\n", __func__, fimg, type, dval); +#endif + +if (fimg->type != FIMG_TYPE_RGB) { + fprintf(stderr, "%s need an rgb pic\n", __func__); + return -6; + } + +/* rampe de primaires dans le quart du haut */ + +for (x=0; xwidth; x++) { + + nio = x / (fimg->width / 8); + + switch(nio) { + case 0: + fr = 0.0, fg = 0.0, fb = 0.0; break; + case 1: + fr = 1.0, fg = 0.0, fb = 0.0; break; + case 2: + fr = 0.0, fg = 1.0, fb = 0.0; break; + case 3: + fr = 1.0, fg = 1.0, fb = 0.0; break; + case 4: + fr = 0.0, fg = 0.0, fb = 1.0; break; + case 5: + fr = 1.0, fg = 0.0, fb = 1.0; break; + case 6: + fr = 0.0, fg = 1.0, fb = 1.0; break; + case 7: + fr = 1.0, fg = 1.0, fb = 1.0; break; + default: + // abort(); + break; + } + + for (y=0; yheight/4; y++) + fimg_plot_rgb(fimg, x, y, fr, fg, fb); + + } + +return -1; +} +/* --------------------------------------------------------------------- */ int fimg_draw_something(FloatImg *fimg) { int x, y;