From ba67bbb2db6327dc0f64eab24bafe5f023ce42ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juha=20Vehvil=C3=A4inen?= Date: Mon, 17 Feb 2003 22:28:16 +0000 Subject: 0.32 svn path=/trunk/Framestein/; revision=418 --- Plugins/merge_mod.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Plugins/merge_mod.cpp (limited to 'Plugins/merge_mod.cpp') diff --git a/Plugins/merge_mod.cpp b/Plugins/merge_mod.cpp new file mode 100644 index 0000000..1aa9f16 --- /dev/null +++ b/Plugins/merge_mod.cpp @@ -0,0 +1,33 @@ +// +// merge_additive - add color components of two images, mod 255 +// + +#include "plugin.h" +#include "pixels.h" + +INFO("add color components of two images, modulus 255"); + +void perform_copy(_frame f1, _frame f2, _args a) +{ + arguments ar(a.s); + pixels p1(f1), p2(f2); + int r, g, b; + + float f = ar.count()>=1 ? atof(ar[0]) : 1; + + while(!p1.eof() && !p2.eof()) + { + r = (f * p1.red() + p2.red()); + g = (f * p1.green() + p2.green()); + b = (f * p1.blue() + p2.blue()); + + r = r % 255; + g = g % 255; + b = b % 255; + + p2.putrgb(r, g, b); + + p1.next(); + p2.next(); + } +} -- cgit v1.2.1