From b4423610c15067bdb2e3b36478ab11eccf243a3b Mon Sep 17 00:00:00 2001 From: Vladimir Pecanac Date: Thu, 24 Sep 2026 00:55:35 +0200 Subject: [PATCH] ImageMagick sample: move to Magick.NET 14.17.1 for security fixes Magick.NET-Q8-AnyCPU 13.6.0 is affected by 162 published advisories, all fixed by 14.15.0. Version 14 takes image sizes as uint and moves Drawables to ImageMagick.Drawing, so the sample gets the matching signature, casts and using directive. Behaviour is unchanged. --- .../ImageMagickLibrary/ImageMagickLibrary.csproj | 2 +- .../ImageMagickLibrary/ImageService.cs | 3 ++- .../ImageMagickLibrary/Program.cs | 2 +- .../Tests/ImageMagickLibraryLiveTest.cs | 12 ++++++------ 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/ImageMagickLibrary.csproj b/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/ImageMagickLibrary.csproj index 81a484b96c..0a0d1f60e2 100644 --- a/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/ImageMagickLibrary.csproj +++ b/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/ImageMagickLibrary.csproj @@ -8,7 +8,7 @@ - + diff --git a/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/ImageService.cs b/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/ImageService.cs index 5f91bc1a34..3c6197debb 100644 --- a/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/ImageService.cs +++ b/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/ImageService.cs @@ -1,10 +1,11 @@ using ImageMagick; +using ImageMagick.Drawing; namespace ImageMagickLibrary; public static class ImageService { - public static MagickImage CreateBlankImage(int width, int height, MagickColor color) + public static MagickImage CreateBlankImage(uint width, uint height, MagickColor color) { return new MagickImage(color, width, height); } diff --git a/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/Program.cs b/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/Program.cs index c9b1e8fd84..6d2a0b62ce 100644 --- a/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/Program.cs +++ b/csharp-images/GenerateImagesInCSharpUsingImageMagick/ImageMagickLibrary/Program.cs @@ -6,7 +6,7 @@ var image = ImageService.CreateBlankImage(480, 300, MagickColors.AliceBlue); var strokeColor = MagickColors.YellowGreen; var fillColor = MagickColors.Transparent; -var circle = ImageService.CreateCircle(image.Width / 2, image.Height / 2, 100, 5, strokeColor, fillColor); +var circle = ImageService.CreateCircle((int)image.Width / 2, (int)image.Height / 2, 100, 5, strokeColor, fillColor); ImageService.DrawOnImage(image, circle); ImageService.SaveImage(image, outputPath); diff --git a/csharp-images/GenerateImagesInCSharpUsingImageMagick/Tests/ImageMagickLibraryLiveTest.cs b/csharp-images/GenerateImagesInCSharpUsingImageMagick/Tests/ImageMagickLibraryLiveTest.cs index 488a93a7b9..d3a06aea0f 100644 --- a/csharp-images/GenerateImagesInCSharpUsingImageMagick/Tests/ImageMagickLibraryLiveTest.cs +++ b/csharp-images/GenerateImagesInCSharpUsingImageMagick/Tests/ImageMagickLibraryLiveTest.cs @@ -21,9 +21,9 @@ public class ImageMagickLibraryLiveTest public ImageMagickLibraryLiveTest() { _expectedColor = _color; - _centerX = _circle.X + _circle.Width / 2; - _centerY = _circle.Y + _circle.Height / 2; - _radius = _circle.Width / 2; + _centerX = _circle.X + (int)_circle.Width / 2; + _centerY = _circle.Y + (int)_circle.Height / 2; + _radius = (int)_circle.Width / 2; _strokeWidth = 5; } @@ -51,9 +51,9 @@ public void GivenValidSize_WhenCreateBlankImage_ThenReturnMagickImage() } [Theory] - [InlineData(0, 200)] - [InlineData(400, 0)] - public void GivenInvalidSize_WhenCreateBlankImage_ThenThrowArgumentException(int width, int height) + [InlineData(0u, 200u)] + [InlineData(400u, 0u)] + public void GivenInvalidSize_WhenCreateBlankImage_ThenThrowArgumentException(uint width, uint height) { // Arrange, Act & Assert Assert.Throws(() => ImageService.CreateBlankImage(width, height, MagickColors.White));