Browse Source

buiding a test pattern generator

master
tth 3 years ago
parent
commit
e1938dfaeb
  1. 1
      floatimg.h
  2. 51
      funcs/misc-plots.c

1
floatimg.h

@ -143,6 +143,7 @@ int fimg_load_from_png(char *filename, FloatImg *fimg); @@ -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);

51
funcs/misc-plots.c

@ -11,6 +11,57 @@ @@ -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; x<fimg->width; 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; y<fimg->height/4; y++)
fimg_plot_rgb(fimg, x, y, fr, fg, fb);
}
return -1;
}
/* --------------------------------------------------------------------- */
int fimg_draw_something(FloatImg *fimg)
{
int x, y;

Loading…
Cancel
Save