enlarge yout glitcher

This commit is contained in:
le vieux 2020-11-10 14:00:22 +01:00
parent 3706ad4d98
commit 954de623ab
3 changed files with 19 additions and 11 deletions

View File

@ -10,12 +10,12 @@
extern int verbosity; extern int verbosity;
/* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */
int kill_a_random_line(FloatImg *pvictime, float fval, int notused) int kill_a_random_line(FloatImg *pvictime, float fval, int bits)
{ {
int line, xpos, offset; int line, xpos, offset;
#if DEBUG_LEVEL #if DEBUG_LEVEL
fprintf(stderr, ">>> %s ( %p %d )\n", __func__, pvictime, notused); fprintf(stderr, ">>> %s ( %p %d )\n", __func__, pvictime, bits);
#endif #endif
line = rand() % pvictime->height; line = rand() % pvictime->height;
@ -27,9 +27,12 @@ if (verbosity > 1) {
offset = pvictime->width * line; offset = pvictime->width * line;
for (xpos=0; xpos<pvictime->width; xpos++) { for (xpos=0; xpos<pvictime->width; xpos++) {
pvictime->R[offset+xpos] = fval; if (bits & 1) pvictime->R[offset+xpos] = fval;
pvictime->G[offset+xpos] = 0.0; else pvictime->R[offset+xpos] = 0.0;
pvictime->B[offset+xpos] = fval; if (bits & 2) pvictime->G[offset+xpos] = fval;
else pvictime->G[offset+xpos] = 0.0;
if (bits & 4) pvictime->B[offset+xpos] = fval;
else pvictime->B[offset+xpos] = 0.0;
} }
return 0; return 0;
@ -41,7 +44,7 @@ int idx, foo;
/* Frag the pixels */ /* Frag the pixels */
for (idx=0; idx<number; idx++) { for (idx=0; idx<number; idx++) {
foo = kill_a_random_line(who, fval, 0); foo = kill_a_random_line(who, fval, rand() & 0x0f);
if (foo) abort(); if (foo) abort();
} }

View File

@ -2,8 +2,7 @@
* glitches.h * glitches.h
*/ */
int kill_a_random_line(FloatImg *pvictime, float level, int notused); int kill_a_random_line(FloatImg *pvictime, float level, int bits);
int kill_a_few_lines(FloatImg *who, float fval, int number); int kill_a_few_lines(FloatImg *who, float fval, int number);
/* this is a wtf file */ /* this is a wtf file */

View File

@ -45,8 +45,13 @@ if (0 == globbuf.gl_pathc) {
} }
foo = fimg_fileinfos(globbuf.gl_pathv[0], iarray); foo = fimg_fileinfos(globbuf.gl_pathv[0], iarray);
if (FIMG_TYPE_RGB != iarray[2]) {
fprintf(stderr, "can work only on RGB fimg picture, was %d\n",
iarray[2]);
exit(1);
}
w = iarray[0], h = iarray[1]; w = iarray[0], h = iarray[1];
fprintf(stderr, "\tfirst image size : %dx%d\n", w, h); fprintf(stderr, "first image size : %dx%d\n", w, h);
fimg_create(&A, w, h, 3); pFirst = &A; fimg_create(&A, w, h, 3); pFirst = &A;
fimg_create(&B, w, h, 3); pSecond = &B; fimg_create(&B, w, h, 3); pSecond = &B;
@ -78,7 +83,7 @@ for (idx=0; idx<globbuf.gl_pathc; idx++) {
fimg_interpolate(pSecond, pFirst, &Out, coef); fimg_interpolate(pSecond, pFirst, &Out, coef);
/* here we can insert the output filter */ /* here we can insert the output filter */
kill_a_few_lines(&Out, 3.14159, 500); kill_a_few_lines(&Out, 150.5, 5+(rand()%20));
sprintf(line, "%s/%05d.png", outdir, ipng); sprintf(line, "%s/%05d.png", outdir, ipng);
foo = fimg_save_as_png(&Out, line, 0); foo = fimg_save_as_png(&Out, line, 0);
@ -127,8 +132,9 @@ fprintf(stderr, "*** %s : compiled by tTh, %s %s\n", __FILE__,
__DATE__, __TIME__); __DATE__, __TIME__);
fimg_print_version(2); fimg_print_version(2);
while ((opt = getopt(argc, argv, "v")) != -1) { while ((opt = getopt(argc, argv, "hv")) != -1) {
switch(opt) { switch(opt) {
case 'h': help(); break;
case 'v': verbosity++; break; case 'v': verbosity++; break;
} }
} }