forked from tTh/FloatImg
adding killrgb experiments
This commit is contained in:
parent
23908cb746
commit
9124ab6434
|
@ -152,6 +152,25 @@ fimg_destroy(&img);
|
|||
return retval;
|
||||
}
|
||||
/* -------------------------------------------------------------- */
|
||||
int run_killrgb_0(FloatImg *img, int k)
|
||||
{
|
||||
FloatImg tmp;
|
||||
int ret;
|
||||
|
||||
// fprintf(stderr, "----> %s\n", __func__);
|
||||
|
||||
memset(&tmp, 0, sizeof(FloatImg));
|
||||
|
||||
fimg_clone(img, &tmp, 0);
|
||||
ret = fimg_killrgb_v(img, &tmp, k);
|
||||
fimg_copy_data(&tmp, img);
|
||||
fimg_destroy(&tmp);
|
||||
|
||||
// fprintf(stderr, "%s ---->\n", __func__);
|
||||
|
||||
return ret;
|
||||
}
|
||||
/* -------------------------------------------------------------- */
|
||||
/*
|
||||
* This is the main filter engine used both for input and
|
||||
* output processing. It can be called by the filterstack
|
||||
|
@ -319,6 +338,10 @@ switch (idFx) {
|
|||
retval = do_something(image, 3);
|
||||
break;
|
||||
|
||||
case CR_killrgb0:
|
||||
retval = run_killrgb_0(image, 0);
|
||||
break;
|
||||
|
||||
case CR_hilightr:
|
||||
retval = fimg_highlight_color(image, image, 'R', 1.717);
|
||||
break;
|
||||
|
@ -358,7 +381,7 @@ void list_crapulors(char *texte)
|
|||
int idx;
|
||||
|
||||
#define OUT stdout
|
||||
fprintf(OUT, "______________. %s\n", texte);
|
||||
if (NULL!=texte) fprintf(OUT, "______________. %s\n", texte);
|
||||
for (idx=0; CrapL[idx].id!=-1; idx++) {
|
||||
fprintf(OUT, " %-12s | %4d | %5d | %8.3f\n",
|
||||
CrapL[idx].name,
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
32 vsglitch 1 1.0
|
||||
33 crumphard 1 1.0
|
||||
42 nothing 42 3.1415926
|
||||
43 killrgb0 1 9
|
||||
45 hilightr 1 1.717
|
||||
99 message 1 1.0
|
||||
-1 end 1 1.0
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* http://la.buvette.org/photos/cumul
|
||||
*/
|
||||
|
||||
#define FIMG_VERSION 154
|
||||
#define FIMG_VERSION 155
|
||||
|
||||
/*
|
||||
* in memory descriptor
|
||||
|
|
|
@ -37,6 +37,9 @@ tests.o: tests.c tests.h $(DEPS)
|
|||
|
||||
# ###
|
||||
|
||||
killrgb.o: killrgb.c $(DEPS)
|
||||
gcc $(COPT) -c $<
|
||||
|
||||
recurse.o: recurse.c $(DEPS)
|
||||
gcc $(COPT) -c $<
|
||||
|
||||
|
|
|
@ -17,17 +17,20 @@
|
|||
int fimg_killrgb_v(FloatImg *src, FloatImg *dst, int k)
|
||||
{
|
||||
int foo, line, col;
|
||||
int ir, ig, ib;
|
||||
int ir;
|
||||
|
||||
#if DEBUG_LEVEL
|
||||
fprintf(stderr, ">>> %s ( %p %p %d )\n", __func__,
|
||||
src, dst, k);
|
||||
src, dst, k);
|
||||
#endif
|
||||
|
||||
fimg_clear(dst);
|
||||
|
||||
ir = ig = ib = 0;
|
||||
ir = 0;
|
||||
|
||||
for (line=0; line<src->height; line++) {
|
||||
for (col=0; col<src->width; col+=3) {
|
||||
// fprintf(stderr, "%s line %d\n", __func__, line);
|
||||
for (col=0; col<(src->width-3); col+=3) {
|
||||
|
||||
dst->R[ir ] = src->R[ir]; ir++;
|
||||
dst->G[ir+1] = src->G[ir]; ir++;
|
||||
|
|
Loading…
Reference in New Issue