[babl/wip/pippin/inverted-cmyk] add cmyk inverter
- From: Øyvind "pippin" Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [babl/wip/pippin/inverted-cmyk] add cmyk inverter
- Date: Wed, 21 Nov 2018 13:43:41 +0000 (UTC)
commit e8227f0630a351deea439e5cc79ce543919b2c6a
Author: Øyvind Kolås <pippin gimp org>
Date: Wed Nov 21 04:11:38 2018 +0100
add cmyk inverter
extensions/CMYK.c | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
---
diff --git a/extensions/CMYK.c b/extensions/CMYK.c
index 9abec66..c9872e0 100644
--- a/extensions/CMYK.c
+++ b/extensions/CMYK.c
@@ -226,6 +226,31 @@ cmyka_to_CMYK (const Babl *conversion,char *src,
}
}
+static void
+cmyka_to_CMYKa (const Babl *conversion,char *src,
+ char *dst,
+ long n)
+{
+ while (n--)
+ {
+ double cyan = ((double *) src)[0];
+ double magenta = ((double *) src)[1];
+ double yellow = ((double *) src)[2];
+ double key = ((double *) src)[3];
+ double alpha = ((double *) src)[4];
+
+ ((double *) dst)[0] = 1.0-cyan;
+ ((double *) dst)[1] = 1.0-magenta;
+ ((double *) dst)[2] = 1.0-yellow;
+ ((double *) dst)[3] = 1.0-key;
+ ((double *) dst)[4] = alpha;
+
+ src += 5 * sizeof (double);
+ dst += 5 * sizeof (double);
+ }
+}
+
+
@@ -689,6 +714,20 @@ init (void)
NULL
);
+ babl_conversion_new (
+ babl_model ("cmykA"),
+ babl_model ("CMYKA"),
+ "linear", cmyka_to_CMYKa,
+ NULL
+ );
+ babl_conversion_new (
+ babl_model ("CMYKA"),
+ babl_model ("cmykA"),
+ "linear", cmyka_to_CMYKa, // does the same job
+ NULL
+ );
+
+
babl_conversion_new (
babl_model ("cmykA"),
babl_model ("CMYK"),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]