From 7fa5b4f3554fc86f784d852581cdd530c5a29d22 Mon Sep 17 00:00:00 2001 From: VaDiM Date: Fri, 18 Nov 2022 05:32:28 +0300 Subject: [PATCH] Update ImageSharp.Drawing version - migrate to ImageSharp v2+ --- AssetStudioUtility/AssetStudioUtility.csproj | 2 +- AssetStudioUtility/ImageExtensions.cs | 9 ++++++--- AssetStudioUtility/SpriteHelper.cs | 4 ++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/AssetStudioUtility/AssetStudioUtility.csproj b/AssetStudioUtility/AssetStudioUtility.csproj index 3acdc54..dea0ddb 100644 --- a/AssetStudioUtility/AssetStudioUtility.csproj +++ b/AssetStudioUtility/AssetStudioUtility.csproj @@ -9,7 +9,7 @@ - + diff --git a/AssetStudioUtility/ImageExtensions.cs b/AssetStudioUtility/ImageExtensions.cs index a6cbad7..1ba0e5a 100644 --- a/AssetStudioUtility/ImageExtensions.cs +++ b/AssetStudioUtility/ImageExtensions.cs @@ -2,6 +2,7 @@ using SixLabors.ImageSharp.Formats.Bmp; using SixLabors.ImageSharp.Formats.Tga; using SixLabors.ImageSharp.PixelFormats; +using System; using System.IO; using System.Runtime.InteropServices; @@ -45,11 +46,13 @@ namespace AssetStudio public static byte[] ConvertToBytes(this Image image) where TPixel : unmanaged, IPixel { - if (image.TryGetSinglePixelSpan(out var pixelSpan)) + using (image) { - return MemoryMarshal.AsBytes(pixelSpan).ToArray(); + Span imageSpan = new byte[image.Width * image.Height * 4]; + image.CopyPixelDataTo(imageSpan); + + return MemoryMarshal.AsBytes(imageSpan).ToArray(); } - return null; } } } diff --git a/AssetStudioUtility/SpriteHelper.cs b/AssetStudioUtility/SpriteHelper.cs index db1ac99..56f17a3 100644 --- a/AssetStudioUtility/SpriteHelper.cs +++ b/AssetStudioUtility/SpriteHelper.cs @@ -96,8 +96,8 @@ namespace AssetStudio using (var mask = new Image(rect.Width, rect.Height, SixLabors.ImageSharp.Color.Black)) { mask.Mutate(x => x.Fill(options, SixLabors.ImageSharp.Color.Red, path)); - var bursh = new ImageBrush(mask); - spriteImage.Mutate(x => x.Fill(graphicsOptions, bursh)); + var brush = new ImageBrush(mask); + spriteImage.Mutate(x => x.Fill(options, brush)); spriteImage.Mutate(x => x.Flip(FlipMode.Vertical)); return spriteImage; }