/* testing some random funcs. */ #include #include #include #include "../floatimg.h" /* --------------------------------------------------------------------- */ 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; float fx, fy; #define K (3.14159*13.456) #define M 100.0 for (x=0; xwidth; x++) { fimg_plot_rgb(fimg, x, 0, (float)x, (float)x + 5.678, (float)x * 1.33333); } for (y=1; yheight; y++) { fy = (float)y / (float)fimg->height; for (x=0; xwidth; x++) { fx = (float)x / (float)fimg->width; fimg_plot_rgb(fimg, x, y, M*(cos(fx*K)+1.2), M*(sin(fy*K)+1.4), M*(cos(fx*fy)+1.6)); } } return 0; } /* --------------------------------------------------------------------- */ int fimg_multirandom(FloatImg *fimg) { int foo, x, y; #define RI ( (rand()/7) + (rand()/9) ) #define RD ( (drand48()/7) + (drand48()/7) ) for (foo=0; foo<100000000; foo++) { x = RI % fimg->width; y = RI % fimg->height; fimg_add_rgb(fimg, x, y, RD, RD, RD); } return 0; } /* --------------------------------------------------------------------- */