diff --git a/src/Magick.NET/MagickImage.cs b/src/Magick.NET/MagickImage.cs index ca77cbc7c8..1e62ccfaab 100644 --- a/src/Magick.NET/MagickImage.cs +++ b/src/Magick.NET/MagickImage.cs @@ -3995,7 +3995,11 @@ public void LocalContrast(double radius, Percentage strength, Channels channels) /// The size of the edges. /// Thrown when an error is raised by ImageMagick. public void Lower(int size) - => _nativeInstance.RaiseOrLower(size, false); + { + Throw.IfNegative(nameof(size), size); + + _nativeInstance.RaiseOrLower(size, false); + } /// /// Magnify image by integral size. diff --git a/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs b/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs index 2ea52c0059..0840d4896e 100644 --- a/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs +++ b/tests/Magick.NET.Tests/MagickImageTests/TheLowerMethod.cs @@ -1,6 +1,7 @@ // Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET. // Licensed under the Apache License, Version 2.0. +using System; using ImageMagick; using Xunit; @@ -10,6 +11,13 @@ public partial class MagickImageTests { public class TheLowerMethod { + [Fact] + public void ShouldThrowExceptionWhenSizeIsNegative() + { + using var image = new MagickImage(Files.FujiFilmFinePixS1ProJPG); + Assert.Throws("size", () => image.Lower(-1)); + } + [Fact] public void ShouldDarkenTheEdges() {