From 3bd43c9d18e565e193e555f9de0ce916f8faf807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juha=20Vehvil=C3=A4inen?= Date: Wed, 18 Sep 2002 16:32:27 +0000 Subject: *** empty log message *** svn path=/trunk/Framestein/; revision=132 --- Plugins/subtract.cpp | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) (limited to 'Plugins/subtract.cpp') diff --git a/Plugins/subtract.cpp b/Plugins/subtract.cpp index 89ba216..3172513 100644 --- a/Plugins/subtract.cpp +++ b/Plugins/subtract.cpp @@ -1,3 +1,9 @@ +// +// subtract - subtract red/green/blue color from image +// +// 0.32 +// using arguments-class +// // 0.20 // - from c to c++ // - pixelformat-aware @@ -9,30 +15,35 @@ void perform_effect(_frame f, _args a) { - pixels p(f); - char *t; - byte tr, tg, tb, r=0, g=0, b=0; - - if(!a.s) return; + arguments ar(a.s); - r = atoi(a.s); - if(t = strstr(a.s, " ")) + if(ar.count()!=3) { - g = atoi(t+1); - if (t = strstr(t+1, " ")) - b = atoi(t+1); + printf("usage: subtract \n"); + return; } + byte r, g, b; + + r = atoi(ar[0]); + g = atoi(ar[1]); + b = atoi(ar[2]); + + pixels p(f); + byte tr, tg, tb; + while(!p.eof()) { tr = p.red(); tg = p.green(); tb = p.blue(); + p.putrgb( tr>r ? tr-r : 0, tg>g ? tg-g : 0, tb>b ? tb-b : 0 ); + p.next(); } } -- cgit v1.2.1