From 5bfff979188fdf075df37be71f689d5ff9a65f83 Mon Sep 17 00:00:00 2001 From: Cristy Date: Sun, 5 Aug 2018 17:43:16 -0400 Subject: [PATCH] ... --- coders/mat.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/coders/mat.c b/coders/mat.c index d3a2db86b..b1f4f1aac 100644 --- a/coders/mat.c +++ b/coders/mat.c @@ -204,15 +204,16 @@ static void InsertComplexDoubleRow(Image *image,double *p,int y,double MinVal, SetPixelRed(image,QuantumRange,q); else SetPixelRed(image,GetPixelRed(image,q)+(int) f,q); - if ((int) f / 2.0 > GetPixelGreen(image,q)) + f = GetPixelGreen(image,q)-f/2.0; + if (f <= 0.0) { SetPixelGreen(image,0,q); SetPixelBlue(image,0,q); } else { - SetPixelBlue(image,GetPixelBlue(image,q)-(int) (f/2.0),q); - SetPixelGreen(image,GetPixelBlue(image,q),q); + SetPixelBlue(image,f,q); + SetPixelGreen(image,f,q); } } if (*p < 0) @@ -221,16 +222,17 @@ static void InsertComplexDoubleRow(Image *image,double *p,int y,double MinVal, if (f+GetPixelBlue(image,q) > QuantumRange) SetPixelBlue(image,QuantumRange,q); else - SetPixelBlue(image,GetPixelBlue(image,q)+(int) f,q); - if ((int) f / 2.0 > GetPixelGreen(image,q)) + SetPixelBlue(image,GetPixelBlue(image,q)+ClampToQuantum(f),q); + f = GetPixelGreen(image,q)-f/2.0; + if (f <= 0.0) { SetPixelRed(image,0,q); SetPixelGreen(image,0,q); } else { - SetPixelRed(image,GetPixelRed(image,q)-(int) (f/2.0),q); - SetPixelGreen(image,GetPixelRed(image,q),q); + SetPixelRed(image,ClampToQuantum(f),q); + SetPixelGreen(image,ClampToQuantum(f),q); } } p++; -- 2.40.0