From 99fc217dffe2ed10ebefd0ac85900df37b60e3fd Mon Sep 17 00:00:00 2001 From: cristy Date: Thu, 26 Jun 2014 10:30:53 +0000 Subject: [PATCH] --- MagickCore/composite.c | 13 +++++++++++++ MagickCore/composite.h | 1 + MagickCore/option.c | 1 + 3 files changed, 15 insertions(+) diff --git a/MagickCore/composite.c b/MagickCore/composite.c index fe51f2392..46f99ac72 100644 --- a/MagickCore/composite.c +++ b/MagickCore/composite.c @@ -1364,6 +1364,7 @@ MagickExport MagickBooleanType CompositeImage(Image *image, case DivideSrcCompositeOp: case ExclusionCompositeOp: case HardLightCompositeOp: + case HardMixCompositeOp: case LinearBurnCompositeOp: case LinearDodgeCompositeOp: case LinearLightCompositeOp: @@ -1880,6 +1881,18 @@ MagickExport MagickBooleanType CompositeImage(Image *image, Dca*(1.0-Sa)); break; } + case HardMixCompositeOp: + { + if ((2.0*Sca) < Sa) + { + pixel=QuantumRange*gamma*(2.0*Sca*Dca+Sca*(1.0-Da)+Dca* + (1.0-Sa)); + break; + } + pixel=QuantumRange*gamma*(Sa*Da-2.0*(Da-Dca)*(Sa-Sca)+Sca*(1.0-Da)+ + Dca*(1.0-Sa)); + break; + } case HueCompositeOp: { if (fabs(QuantumRange*Sa-TransparentAlpha) < MagickEpsilon) diff --git a/MagickCore/composite.h b/MagickCore/composite.h index 4bc019a44..a2d494a99 100644 --- a/MagickCore/composite.h +++ b/MagickCore/composite.h @@ -58,6 +58,7 @@ typedef enum DstOverCompositeOp, ExclusionCompositeOp, HardLightCompositeOp, + HardMixCompositeOp, HueCompositeOp, InCompositeOp, IntensityCompositeOp, diff --git a/MagickCore/option.c b/MagickCore/option.c index 23b367a5b..a55614780 100644 --- a/MagickCore/option.c +++ b/MagickCore/option.c @@ -823,6 +823,7 @@ static const OptionInfo { "DstOver", DstOverCompositeOp, UndefinedOptionFlag, MagickFalse }, { "Exclusion", ExclusionCompositeOp, UndefinedOptionFlag, MagickFalse }, { "HardLight", HardLightCompositeOp, UndefinedOptionFlag, MagickFalse }, + { "HardMix", HardMixCompositeOp, UndefinedOptionFlag, MagickFalse }, { "Hue", HueCompositeOp, UndefinedOptionFlag, MagickFalse }, { "In", InCompositeOp, UndefinedOptionFlag, MagickFalse }, { "Intensity", IntensityCompositeOp, UndefinedOptionFlag, MagickFalse }, -- 2.40.0