From 708bac6ce2fd1e0ca02166f52980503cbb2e9a40 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Thu, 7 Jan 2016 18:02:08 +1100 Subject: [PATCH] Another attempt at fixing Lerp. Former-commit-id: 48f5e84d6b95756a125ec0ff3adce66530f8a277 Former-commit-id: cc600e84bb3e3a5ae3038811bc466f9b161e6ee8 Former-commit-id: ef0a7b1b98de88cb1ab51634aac379d0132039a2 --- src/ImageProcessor/Colors/Color.cs | 2 +- src/ImageProcessor/Filters/ColorMatrix/Polaroid.cs | 8 +++++++- src/ImageProcessor/Filters/Glow.cs | 2 +- .../Processors/Filters/FilterTests.cs | 2 +- .../ImageProcessor.Tests/Processors/ProcessorTestBase.cs | 2 +- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/ImageProcessor/Colors/Color.cs b/src/ImageProcessor/Colors/Color.cs index 340151126..482d2f9ac 100644 --- a/src/ImageProcessor/Colors/Color.cs +++ b/src/ImageProcessor/Colors/Color.cs @@ -350,7 +350,7 @@ namespace ImageProcessor { amount = amount.Clamp(0f, 1f); - if (Math.Abs(from.A - 1) < Epsilon || Math.Abs(from.A) < Epsilon) + if (Math.Abs(from.A - 1) < Epsilon && Math.Abs(to.A - 1) < Epsilon) { return from + (to - from) * amount; } diff --git a/src/ImageProcessor/Filters/ColorMatrix/Polaroid.cs b/src/ImageProcessor/Filters/ColorMatrix/Polaroid.cs index 26231b386..ddaccab5f 100644 --- a/src/ImageProcessor/Filters/ColorMatrix/Polaroid.cs +++ b/src/ImageProcessor/Filters/ColorMatrix/Polaroid.cs @@ -33,7 +33,13 @@ namespace ImageProcessor.Filters protected override void AfterApply(ImageBase source, ImageBase target, Rectangle targetRectangle, Rectangle sourceRectangle) { new Vignette { Color = new Color(102 / 255f, 34 / 255f, 0) }.Apply(target, target, targetRectangle); - new Glow { Color = new Color(1, 153 / 255f, 102 / 255f, .7f) }.Apply(target, target, targetRectangle); + new Glow + { + Color = new Color(1, 153 / 255f, 102 / 255f), + RadiusX = target.Width / 4f, + RadiusY = target.Width / 4f + } + .Apply(target, target, targetRectangle); } } } diff --git a/src/ImageProcessor/Filters/Glow.cs b/src/ImageProcessor/Filters/Glow.cs index 43ab28356..690ead787 100644 --- a/src/ImageProcessor/Filters/Glow.cs +++ b/src/ImageProcessor/Filters/Glow.cs @@ -49,7 +49,7 @@ namespace ImageProcessor.Filters { float distance = Vector2.Distance(centre, new Vector2(x, y)); Color sourceColor = target[x, y]; - target[x, y] = Color.Lerp(sourceColor, glowColor, .334f * (1 - distance / maxDistance)); + target[x, y] = Color.Lerp(sourceColor, glowColor, .5f * (1 - distance / maxDistance)); } }); } diff --git a/tests/ImageProcessor.Tests/Processors/Filters/FilterTests.cs b/tests/ImageProcessor.Tests/Processors/Filters/FilterTests.cs index c9b7ded4b..a448f2051 100644 --- a/tests/ImageProcessor.Tests/Processors/Filters/FilterTests.cs +++ b/tests/ImageProcessor.Tests/Processors/Filters/FilterTests.cs @@ -45,7 +45,7 @@ namespace ImageProcessor.Tests { "Hue-180", new Hue(180) }, { "Hue--180", new Hue(-180) }, { "BoxBlur", new BoxBlur(10) }, - {"Vignette", new Vignette()} + { "Vignette", new Vignette()} }; [Theory] diff --git a/tests/ImageProcessor.Tests/Processors/ProcessorTestBase.cs b/tests/ImageProcessor.Tests/Processors/ProcessorTestBase.cs index 4e1bbc942..e26bd4471 100644 --- a/tests/ImageProcessor.Tests/Processors/ProcessorTestBase.cs +++ b/tests/ImageProcessor.Tests/Processors/ProcessorTestBase.cs @@ -23,7 +23,7 @@ namespace ImageProcessor.Tests "TestImages/Formats/Jpg/Calliphora.jpg", //"TestImages/Formats/Jpg/gamma_dalai_lama_gray.jpg", //Perf: Enable for local testing only "TestImages/Formats/Bmp/Car.bmp", - //"TestImages/Formats/Png/blur.png", //Perf: Enable for local testing only + "TestImages/Formats/Png/blur.png", //Perf: Enable for local testing only "TestImages/Formats/Png/splash.png", "TestImages/Formats/Gif/rings.gif", //"TestImages/Formats/Gif/giphy.gif" //Perf: Enable for local testing only