diff --git a/src/Directory.Build.props b/src/Directory.Build.props index e43c74b..e3fd726 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -2,7 +2,7 @@ CS1591;CS0649;NU1608;NU1109 - 4.3.4 + 4.4.0 enable preview 1.0.0 diff --git a/src/Tests/Samples.VerifyImageFile.verified.jpg b/src/Tests/Samples.VerifyImageFile.verified.jpg index 9e25ea4..9a6decc 100644 Binary files a/src/Tests/Samples.VerifyImageFile.verified.jpg and b/src/Tests/Samples.VerifyImageFile.verified.jpg differ diff --git a/src/Tests/Samples.VerifyImageFileWithCustomEncoder.verified.png b/src/Tests/Samples.VerifyImageFileWithCustomEncoder.verified.png index 021e960..d79aa54 100644 Binary files a/src/Tests/Samples.VerifyImageFileWithCustomEncoder.verified.png and b/src/Tests/Samples.VerifyImageFileWithCustomEncoder.verified.png differ diff --git a/src/Verify.ImageSharp/GlobalUsings.cs b/src/Verify.ImageSharp/GlobalUsings.cs new file mode 100644 index 0000000..14a41f3 --- /dev/null +++ b/src/Verify.ImageSharp/GlobalUsings.cs @@ -0,0 +1,9 @@ +// Global using directives + +global using SixLabors.ImageSharp; +global using SixLabors.ImageSharp.Formats; +global using SixLabors.ImageSharp.Formats.Bmp; +global using SixLabors.ImageSharp.Formats.Gif; +global using SixLabors.ImageSharp.Formats.Jpeg; +global using SixLabors.ImageSharp.Formats.Png; +global using SixLabors.ImageSharp.Formats.Tiff; \ No newline at end of file diff --git a/src/Verify.ImageSharp/InfoBuilder.cs b/src/Verify.ImageSharp/InfoBuilder.cs index 6d3f02a..f6d460e 100644 --- a/src/Verify.ImageSharp/InfoBuilder.cs +++ b/src/Verify.ImageSharp/InfoBuilder.cs @@ -2,14 +2,14 @@ { public static object GetInfo(this Image image) { - var metadata = image.Metadata; + var data = image.Metadata; return new { image.Width, image.Height, - metadata.HorizontalResolution, - metadata.VerticalResolution, - metadata.ResolutionUnits + data.HorizontalResolution, + data.VerticalResolution, + data.ResolutionUnits }; } } \ No newline at end of file diff --git a/src/Verify.ImageSharp/VerifyImageSharp.cs b/src/Verify.ImageSharp/VerifyImageSharp.cs index c23333a..ceb7172 100644 --- a/src/Verify.ImageSharp/VerifyImageSharp.cs +++ b/src/Verify.ImageSharp/VerifyImageSharp.cs @@ -1,8 +1,4 @@ -using SixLabors.ImageSharp.Formats.Jpeg; -using SixLabors.ImageSharp.Formats.Png; -using SixLabors.ImageSharp.Formats.Tiff; - -namespace VerifyTests; +namespace VerifyTests; public static class VerifyImageSharp { @@ -18,14 +14,14 @@ public static void Initialize() Initialized = true; InnerVerifier.ThrowIfVerifyHasBeenRun(); - VerifierSettings.RegisterFileConverter("bmp", ConvertBmp); - VerifierSettings.RegisterFileConverter("gif", ConvertGif); - VerifierSettings.RegisterFileConverter("jpg", ConvertJpg); - VerifierSettings.RegisterFileConverter("png", ConvertPng); - VerifierSettings.RegisterFileConverter("tif", ConvertTiff); + VerifierSettings.RegisterStreamConverter("bmp", ConvertBmp); + VerifierSettings.RegisterStreamConverter("gif", ConvertGif); + VerifierSettings.RegisterStreamConverter("jpg", ConvertJpg); + VerifierSettings.RegisterStreamConverter("png", ConvertPng); + VerifierSettings.RegisterStreamConverter("tif", ConvertTiff); var encoder = new PngEncoder(); - VerifierSettings.RegisterFileConverter((image, context) => ConvertImage(image, context, "png", encoder)); + VerifierSettings.RegisterFileConverter((image, context) => ConvertImage(null, image, context, "png", encoder)); } static void EncodeAs(this VerifySettings settings, string extension, IImageEncoder? encoder) @@ -80,31 +76,30 @@ public static SettingsTask EncodeAsJpeg(this SettingsTask settings, JpegEncoder? public static void EncodeAsJpeg(this VerifySettings settings, JpegEncoder? encoder = null) => settings.EncodeAs("jpg", encoder); + static ConversionResult ConvertBmp(string? name, Stream stream, IReadOnlyDictionary context) => + Convert(name, BmpDecoder.Instance, stream, "bmp", context); - static ConversionResult ConvertBmp(Stream stream, IReadOnlyDictionary context) => - Convert(BmpDecoder.Instance, stream, "bmp", context); - - static ConversionResult ConvertGif(Stream stream, IReadOnlyDictionary context) => - Convert(GifDecoder.Instance, stream, "gif", context); + static ConversionResult ConvertGif(string? name, Stream stream, IReadOnlyDictionary context) => + Convert(name, GifDecoder.Instance, stream, "gif", context); - static ConversionResult ConvertJpg(Stream stream, IReadOnlyDictionary context) => - Convert(JpegDecoder.Instance, stream, "jpg", context); + static ConversionResult ConvertJpg(string? name, Stream stream, IReadOnlyDictionary context) => + Convert(name, JpegDecoder.Instance, stream, "jpg", context); - static ConversionResult ConvertPng(Stream stream, IReadOnlyDictionary context) => - Convert(PngDecoder.Instance, stream, "png", context); + static ConversionResult ConvertPng(string? name, Stream stream, IReadOnlyDictionary context) => + Convert(name, PngDecoder.Instance, stream, "png", context); - static ConversionResult ConvertTiff(Stream stream, IReadOnlyDictionary context) => - Convert(TiffDecoder.Instance, stream, "tif", context); + static ConversionResult ConvertTiff(string? name, Stream stream, IReadOnlyDictionary context) => + Convert(name, TiffDecoder.Instance, stream, "tif", context); - static ConversionResult Convert(IImageDecoder decoder, Stream stream, string extension, IReadOnlyDictionary context) + static ConversionResult Convert(string? name, IImageDecoder decoder, Stream stream, string extension, IReadOnlyDictionary context) where TEncoder : IImageEncoder, new() { using var image = decoder.Decode(new(), stream); stream.Position = 0; - return ConvertImage(image, context, extension, new TEncoder()); + return ConvertImage(name, image, context, extension, new TEncoder()); } - static ConversionResult ConvertImage(Image image, IReadOnlyDictionary context, string extension, IImageEncoder encoder) + static ConversionResult ConvertImage(string? name, Image image, IReadOnlyDictionary context, string extension, IImageEncoder encoder) { if (context.TryGetValue("ImageSharpEncoder", out var encoderValue)) { @@ -116,6 +111,6 @@ static ConversionResult ConvertImage(Image image, IReadOnlyDictionary