added a second killcolors function
This commit is contained in:
parent
622d011424
commit
e761120787
3
.gitignore
vendored
3
.gitignore
vendored
@ -5,7 +5,6 @@ lib/*.fimg
|
|||||||
lib/*.png
|
lib/*.png
|
||||||
lib/*.gif
|
lib/*.gif
|
||||||
|
|
||||||
funcs/*.o
|
|
||||||
|
|
||||||
*.a
|
*.a
|
||||||
gmon.out
|
gmon.out
|
||||||
@ -26,7 +25,9 @@ doc/*.ilg
|
|||||||
doc/*.ind
|
doc/*.ind
|
||||||
|
|
||||||
funcs/t
|
funcs/t
|
||||||
|
funcs/*.o
|
||||||
funcs/*.png
|
funcs/*.png
|
||||||
|
funcs/*.gif
|
||||||
|
|
||||||
scripts/*.fimg
|
scripts/*.fimg
|
||||||
scripts/*.pnm
|
scripts/*.pnm
|
||||||
|
@ -78,6 +78,7 @@ int fimg_maximum(FloatImg *a, FloatImg *b, FloatImg *d);
|
|||||||
|
|
||||||
/* 'sfx0' module */
|
/* 'sfx0' module */
|
||||||
int fimg_killcolors_a(FloatImg *fimg, float fval);
|
int fimg_killcolors_a(FloatImg *fimg, float fval);
|
||||||
|
int fimg_killcolors_b(FloatImg *fimg, float fval);
|
||||||
|
|
||||||
|
|
||||||
/* PNM files module */
|
/* PNM files module */
|
||||||
|
24
funcs/sfx0.c
24
funcs/sfx0.c
@ -22,14 +22,32 @@ if (FIMG_TYPE_RGB != fimg->type) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nbpix = fimg->width * fimg->height;
|
nbpix = fimg->width * fimg->height;
|
||||||
|
|
||||||
for (foo=0; foo<nbpix; foo++) {
|
for (foo=0; foo<nbpix; foo++) {
|
||||||
|
|
||||||
if (fimg->R[foo] > fimg->G[foo])
|
if (fimg->R[foo] > fimg->G[foo])
|
||||||
fimg->B[foo] = fimg->R[foo];
|
fimg->B[foo] = fimg->R[foo];
|
||||||
else
|
else
|
||||||
fimg->B[foo] = fimg->G[foo];
|
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; foo<nbpix; foo++) {
|
||||||
|
if (fimg->R[foo] > fimg->B[foo])
|
||||||
|
fimg->G[foo] = fimg->R[foo];
|
||||||
|
else
|
||||||
|
fimg->G[foo] = fimg->B[foo];
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
15
funcs/t.c
15
funcs/t.c
@ -18,14 +18,23 @@ int essai_sfx0(char *infile)
|
|||||||
FloatImg fimg;
|
FloatImg fimg;
|
||||||
int foo;
|
int foo;
|
||||||
|
|
||||||
|
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_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_save_as_pnm(&fimg, "something.pnm", 0);
|
||||||
|
|
||||||
foo = fimg_killcolors_a(&fimg, 0.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;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -125,7 +134,7 @@ int foo;
|
|||||||
|
|
||||||
puts("++++++++++++++++++++++++++++++++");
|
puts("++++++++++++++++++++++++++++++++");
|
||||||
|
|
||||||
foo = essai_sfx0(NULL);
|
foo = essai_sfx0("03384.fimg");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user