From 3f917163d81a9f1eeab9df21dd38ba150e2a7910 Mon Sep 17 00:00:00 2001 From: antonfirsov Date: Fri, 10 Apr 2026 02:58:38 +0200 Subject: [PATCH] revert ImageMagick update --- tests/Directory.Build.targets | 2 +- .../ImageSharp.Benchmarks/Codecs/Tga/DecodeTga.cs | 2 +- .../Codecs/Webp/DecodeWebp.cs | 6 +++--- .../LoadResizeSave/LoadResizeSaveStressRunner.cs | 6 +++--- .../Formats/Bmp/BmpDecoderTests.cs | 8 +++----- .../ReferenceCodecs/MagickReferenceDecoder.cs | 14 +++++++------- 6 files changed, 18 insertions(+), 20 deletions(-) diff --git a/tests/Directory.Build.targets b/tests/Directory.Build.targets index 6b25509ed8..8c88ff647d 100644 --- a/tests/Directory.Build.targets +++ b/tests/Directory.Build.targets @@ -24,7 +24,7 @@ Do not update to 14+ yet. There's differnce in how the BMP decoder handles rounding in 16 bit images. See https://github.com/ImageMagick/ImageMagick/commit/27a0a9c37f18af9c8d823a3ea076f600843b553c --> - + diff --git a/tests/ImageSharp.Benchmarks/Codecs/Tga/DecodeTga.cs b/tests/ImageSharp.Benchmarks/Codecs/Tga/DecodeTga.cs index a56b733f01..d6a6cf1fb4 100644 --- a/tests/ImageSharp.Benchmarks/Codecs/Tga/DecodeTga.cs +++ b/tests/ImageSharp.Benchmarks/Codecs/Tga/DecodeTga.cs @@ -31,7 +31,7 @@ public class DecodeTga { MagickReadSettings settings = new() { Format = MagickFormat.Tga }; using MagickImage image = new(new MemoryStream(this.data), settings); - return (int)image.Width; + return image.Width; } [Benchmark(Description = "ImageSharp Tga")] diff --git a/tests/ImageSharp.Benchmarks/Codecs/Webp/DecodeWebp.cs b/tests/ImageSharp.Benchmarks/Codecs/Webp/DecodeWebp.cs index e1c4da8971..bba1bc1871 100644 --- a/tests/ImageSharp.Benchmarks/Codecs/Webp/DecodeWebp.cs +++ b/tests/ImageSharp.Benchmarks/Codecs/Webp/DecodeWebp.cs @@ -47,7 +47,7 @@ public class DecodeWebp MagickReadSettings settings = new() { Format = MagickFormat.WebP }; using MemoryStream memoryStream = new(this.webpLossyBytes); using MagickImage image = new(memoryStream, settings); - return (int)image.Width; + return image.Width; } [Benchmark(Description = "ImageSharp Lossy Webp")] @@ -55,7 +55,7 @@ public class DecodeWebp { using MemoryStream memoryStream = new(this.webpLossyBytes); using Image image = Image.Load(memoryStream); - return (int)image.Height; + return image.Height; } [Benchmark(Description = "Magick Lossless Webp")] @@ -65,7 +65,7 @@ public class DecodeWebp { Format = MagickFormat.WebP }; using MemoryStream memoryStream = new(this.webpLossyBytes); using MagickImage image = new(memoryStream, settings); - return (int)image.Width; + return image.Width; } [Benchmark(Description = "ImageSharp Lossless Webp")] diff --git a/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs b/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs index 804a60e2cc..ad6c8dbd86 100644 --- a/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs +++ b/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs @@ -29,7 +29,7 @@ public enum JpegKind } [SupportedOSPlatform("windows")] -public sealed class LoadResizeSaveStressRunner +public class LoadResizeSaveStressRunner { private const int Quality = 75; @@ -250,10 +250,10 @@ public sealed class LoadResizeSaveStressRunner public void MagickResize(string input) { using MagickImage image = new(input); - this.LogImageProcessed((int)image.Width, (int)image.Height); + this.LogImageProcessed(image.Width, image.Height); // Resize it to fit a 150x150 square - image.Resize((uint)this.ThumbnailSize, (uint)this.ThumbnailSize); + image.Resize(this.ThumbnailSize, this.ThumbnailSize); // Reduce the size of the file image.Strip(); diff --git a/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs index ffefd50dff..caa6c507dc 100644 --- a/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs @@ -224,9 +224,8 @@ public class BmpDecoderTests } } - // RLE8Cut case disabled, see https://github.com/SixLabors/ImageSharp/issues/3112 - // [WithFile(RLE8Cut, PixelTypes.Rgba32)] [Theory] + [WithFile(RLE8Cut, PixelTypes.Rgba32)] [WithFile(RLE8Delta, PixelTypes.Rgba32)] public void BmpDecoder_CanDecode_RunLengthEncoded_8Bit_WithDelta_MagickRefDecoder(TestImageProvider provider) where TPixel : unmanaged, IPixel @@ -237,12 +236,11 @@ public class BmpDecoderTests image.CompareToOriginal(provider, MagickReferenceDecoder.Png); } - // RLE8Inverted cases disabled, see https://github.com/SixLabors/ImageSharp/issues/3112. - // [WithFile(RLE8Inverted, PixelTypes.Rgba32, false)] - // [WithFile(RLE8Inverted, PixelTypes.Rgba32, true)] [Theory] [WithFile(RLE8, PixelTypes.Rgba32, false)] + [WithFile(RLE8Inverted, PixelTypes.Rgba32, false)] [WithFile(RLE8, PixelTypes.Rgba32, true)] + [WithFile(RLE8Inverted, PixelTypes.Rgba32, true)] public void BmpDecoder_CanDecode_RunLengthEncoded_8Bit(TestImageProvider provider, bool enforceDiscontiguousBuffers) where TPixel : unmanaged, IPixel { diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs index 9d46e4dce6..862d4b64d3 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs @@ -58,14 +58,14 @@ public class MagickReferenceDecoder : ImageDecoder MagickReadSettings settings = new() { - FrameCount = options.MaxFrames + FrameCount = (int)options.MaxFrames }; settings.SetDefines(bmpReadDefines); settings.SetDefines(pngReadDefines); using MagickImageCollection magickImageCollection = new(stream, settings); - int imageWidth = (int)magickImageCollection.Max(x => x.Width); - int imageHeight = (int)magickImageCollection.Max(x => x.Height); + int imageWidth = magickImageCollection.Max(x => x.Width); + int imageHeight = magickImageCollection.Max(x => x.Height); List> framesList = []; foreach (IMagickImage magicFrame in magickImageCollection) @@ -74,10 +74,10 @@ public class MagickReferenceDecoder : ImageDecoder framesList.Add(frame); Buffer2DRegion buffer = frame.PixelBuffer.GetRegion( - imageWidth - (int)magicFrame.Width, - imageHeight - (int)magicFrame.Height, - (int)magicFrame.Width, - (int)magicFrame.Height); + imageWidth - magicFrame.Width, + imageHeight - magicFrame.Height, + magicFrame.Width, + magicFrame.Height); using IUnsafePixelCollection pixels = magicFrame.GetPixelsUnsafe(); if (magicFrame.Depth is 12 or 10 or 8 or 6 or 5 or 4 or 3 or 2 or 1)