From 68bb49b081c7df3a3c10a77e1f1e77434dd54a82 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 14 May 2026 13:56:49 +0800 Subject: [PATCH 1/8] Add SkiaSharp image compressor and bump Magick.NET - Add SkiaSharpImageCompressorContributor and SkiaSharpCompressOptions so Volo.Abp.Imaging.SkiaSharp ships a compressor alongside its existing resizer. - Bump Magick.NET-Q16-AnyCPU 14.9.1 -> 14.13.0 to clear the NU1901/NU1902/NU1903 advisories. --- Directory.Packages.props | 2 +- .../Abp/Imaging/SkiaSharpCompressOptions.cs | 11 ++ .../SkiaSharpImageCompressorContributor.cs | 151 ++++++++++++++++++ .../Imaging/SkiaSharpImageCompressorTests.cs | 95 +++++++++++ 4 files changed, 258 insertions(+), 1 deletion(-) create mode 100644 framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpCompressOptions.cs create mode 100644 framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageCompressorContributor.cs create mode 100644 framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs diff --git a/Directory.Packages.props b/Directory.Packages.props index 69d1cf0a70..c3cf4389e5 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -55,7 +55,7 @@ - + diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpCompressOptions.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpCompressOptions.cs new file mode 100644 index 0000000000..1c7e029807 --- /dev/null +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpCompressOptions.cs @@ -0,0 +1,11 @@ +namespace Volo.Abp.Imaging; + +public class SkiaSharpCompressOptions +{ + public int Quality { get; set; } + + public SkiaSharpCompressOptions() + { + Quality = 75; + } +} diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageCompressorContributor.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageCompressorContributor.cs new file mode 100644 index 0000000000..87912db3fb --- /dev/null +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageCompressorContributor.cs @@ -0,0 +1,151 @@ +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Options; +using SkiaSharp; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Http; + +namespace Volo.Abp.Imaging; + +public class SkiaSharpImageCompressorContributor : IImageCompressorContributor, ITransientDependency +{ + protected SkiaSharpCompressOptions Options { get; } + + public SkiaSharpImageCompressorContributor(IOptions options) + { + Options = options.Value; + } + + public virtual async Task> TryCompressAsync( + Stream stream, + string? mimeType = null, + CancellationToken cancellationToken = default) + { + if (!string.IsNullOrWhiteSpace(mimeType) && !CanCompress(mimeType)) + { + return new ImageCompressResult(stream, ImageProcessState.Unsupported); + } + + var (memoryBitmapStream, memorySkCodecStream) = await CreateMemoryStream(stream, cancellationToken); + + try + { + using var codec = SKCodec.Create(memorySkCodecStream); + if (codec == null || !CanEncodeFormat(codec.EncodedFormat)) + { + return new ImageCompressResult(stream, ImageProcessState.Unsupported); + } + + using var bitmap = SKBitmap.Decode(memoryBitmapStream); + if (bitmap == null) + { + return new ImageCompressResult(stream, ImageProcessState.Unsupported); + } + + using var image = SKImage.FromBitmap(bitmap); + using var encoded = image.Encode(codec.EncodedFormat, Options.Quality); + + var output = new MemoryStream(); + try + { + encoded.SaveTo(output); + output.Position = 0; + + if (output.Length < stream.Length) + { + return new ImageCompressResult(output, ImageProcessState.Done); + } + + output.Dispose(); + return new ImageCompressResult(stream, ImageProcessState.Canceled); + } + catch + { + output.Dispose(); + throw; + } + } + finally + { + memoryBitmapStream.Dispose(); + memorySkCodecStream.Dispose(); + } + } + + public virtual async Task> TryCompressAsync( + byte[] bytes, + string? mimeType = null, + CancellationToken cancellationToken = default) + { + if (!string.IsNullOrWhiteSpace(mimeType) && !CanCompress(mimeType)) + { + return new ImageCompressResult(bytes, ImageProcessState.Unsupported); + } + + using var ms = new MemoryStream(bytes); + var result = await TryCompressAsync(ms, mimeType, cancellationToken); + + if (result.State != ImageProcessState.Done) + { + return new ImageCompressResult(bytes, result.State); + } + + var newBytes = await result.Result.GetAllBytesAsync(cancellationToken); + result.Result.Dispose(); + return new ImageCompressResult(newBytes, result.State); + } + + protected virtual bool CanCompress(string? mimeType) + { + return mimeType switch { + MimeTypes.Image.Jpeg => true, + MimeTypes.Image.Png => true, + MimeTypes.Image.Webp => true, + _ => false + }; + } + + protected virtual bool CanEncodeFormat(SKEncodedImageFormat format) + { + return format switch + { + SKEncodedImageFormat.Jpeg => true, + SKEncodedImageFormat.Png => true, + SKEncodedImageFormat.Webp => true, + _ => false + }; + } + + protected virtual async Task<(MemoryStream, MemoryStream)> CreateMemoryStream(Stream stream, CancellationToken cancellationToken) + { + var streamPosition = stream.CanSeek ? stream.Position : 0; + + var memoryBitmapStream = new MemoryStream(); + var memorySkCodecStream = new MemoryStream(); + + try + { + await stream.CopyToAsync(memoryBitmapStream, cancellationToken); + + if (stream.CanSeek) + { + stream.Position = streamPosition; + } + + memoryBitmapStream.Position = 0; + await memoryBitmapStream.CopyToAsync(memorySkCodecStream, cancellationToken); + + memoryBitmapStream.Position = 0; + memorySkCodecStream.Position = 0; + + return (memoryBitmapStream, memorySkCodecStream); + } + catch + { + memoryBitmapStream.Dispose(); + memorySkCodecStream.Dispose(); + throw; + } + } +} diff --git a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs new file mode 100644 index 0000000000..0963a50fac --- /dev/null +++ b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs @@ -0,0 +1,95 @@ +using System.IO; +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; +using Shouldly; +using Xunit; + +namespace Volo.Abp.Imaging; + +public class SkiaSharpImageCompressorTests : AbpImagingSkiaSharpTestBase +{ + public IImageCompressor ImageCompressor { get; } + + public SkiaSharpImageCompressorTests() + { + ImageCompressor = GetRequiredService(); + } + + protected override void AfterAddApplication(IServiceCollection services) + { + services.Configure(options => + { + options.Quality = 50; + }); + + base.AfterAddApplication(services); + } + + [Fact] + public async Task Should_Compress_Jpg() + { + await using var jpegImage = ImageFileHelper.GetJpgTestFileStream(); + var compressedImage = await ImageCompressor.CompressAsync(jpegImage); + + compressedImage.ShouldNotBeNull(); + compressedImage.State.ShouldBe(ImageProcessState.Done); + compressedImage.Result.Length.ShouldBeLessThan(jpegImage.Length); + compressedImage.Result.Dispose(); + } + + [Fact] + public async Task Should_Compress_Png() + { + await using var pngImage = ImageFileHelper.GetPngTestFileStream(); + var compressedImage = await ImageCompressor.CompressAsync(pngImage); + + compressedImage.ShouldNotBeNull(); + + if (compressedImage.State == ImageProcessState.Done) + { + compressedImage.Result.Length.ShouldBeLessThan(pngImage.Length); + } + else + { + compressedImage.State.ShouldBe(ImageProcessState.Canceled); + compressedImage.Result.Length.ShouldBe(pngImage.Length); + } + + compressedImage.Result.Dispose(); + } + + [Fact] + public async Task Should_Compress_Webp() + { + await using var webpImage = ImageFileHelper.GetWebpTestFileStream(); + var compressedImage = await ImageCompressor.CompressAsync(webpImage); + + compressedImage.ShouldNotBeNull(); + compressedImage.State.ShouldBe(ImageProcessState.Done); + compressedImage.Result.Length.ShouldBeLessThan(webpImage.Length); + compressedImage.Result.Dispose(); + } + + [Fact] + public async Task Should_Compress_Stream_And_Byte_Array_The_Same() + { + await using var jpegImage = ImageFileHelper.GetJpgTestFileStream(); + var byteArr = await jpegImage.GetAllBytesAsync(); + + var compressedImage1 = await ImageCompressor.CompressAsync(jpegImage); + var compressedImage2 = await ImageCompressor.CompressAsync(byteArr); + + compressedImage1.ShouldNotBeNull(); + compressedImage1.State.ShouldBe(ImageProcessState.Done); + + compressedImage2.ShouldNotBeNull(); + compressedImage2.State.ShouldBe(ImageProcessState.Done); + + compressedImage1.Result.Length.ShouldBeLessThan(jpegImage.Length); + compressedImage2.Result.LongLength.ShouldBeLessThan(jpegImage.Length); + + compressedImage1.Result.Length.ShouldBe(compressedImage2.Result.LongLength); + + compressedImage1.Result.Dispose(); + } +} From 7fe95d4dd6ff0b506f87041987f3b043f8cca561 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 14 May 2026 05:57:41 +0000 Subject: [PATCH 2/8] docs: update package version changes [skip ci] --- docs/en/package-version-changes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/en/package-version-changes.md b/docs/en/package-version-changes.md index 15fc138dc8..84a10fafe9 100644 --- a/docs/en/package-version-changes.md +++ b/docs/en/package-version-changes.md @@ -11,6 +11,7 @@ | Package | Old Version | New Version | PR | |---------|-------------|-------------|-----| +| Magick.NET-Q16-AnyCPU | 14.9.1 | 14.13.0 | #25427 | | MongoDB.Driver | 3.8.0 | 3.8.1 | #25404 | ## 10.4.0-rc.1 From 1c3a01c28f8f9c3971a0839abf0b47c68d0f17af Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 14 May 2026 14:20:39 +0800 Subject: [PATCH 3/8] feat: add GIF support checks in image resizer and compressor tests --- .../SkiaSharpImageResizerContributor.cs | 90 ++++++++++++++---- .../Volo/Abp/Imaging/Files/abp.gif | Bin 0 -> 202188 bytes .../Volo/Abp/Imaging/ImageFileHelper.cs | 7 +- .../Imaging/SkiaSharpImageCompressorTests.cs | 23 +++++ .../Abp/Imaging/SkiaSharpImageResizerTests.cs | 23 +++++ 5 files changed, 123 insertions(+), 20 deletions(-) create mode 100644 framework/test/Volo.Abp.Imaging.Abstractions.Tests/Volo/Abp/Imaging/Files/abp.gif diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs index 7a5db23620..5e6c9a8f39 100644 --- a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs @@ -47,34 +47,75 @@ public class SkiaSharpImageResizerContributor : IImageResizerContributor, ITrans return new ImageResizeResult(stream, ImageProcessState.Unsupported); } - var (memoryBitmapStream, memorySkCodecStream) = await CreateMemoryStream(stream); - - using var original = SKBitmap.Decode(memoryBitmapStream); - using var resized = original.Resize(new SKImageInfo((int)resizeArgs.Width, (int)resizeArgs.Height), Options.SKSamplingOptions); - using var image = SKImage.FromBitmap(resized); - using var codec = SKCodec.Create(memorySkCodecStream); - var memoryStream = new MemoryStream(); - using var skData = image.Encode(codec.EncodedFormat, Options.Quality); - skData.SaveTo(memoryStream); - return new ImageResizeResult(memoryStream, ImageProcessState.Done); + var (memoryBitmapStream, memorySkCodecStream) = await CreateMemoryStream(stream, cancellationToken); + + try + { + using var codec = SKCodec.Create(memorySkCodecStream); + if (codec == null || !CanEncodeFormat(codec.EncodedFormat)) + { + return new ImageResizeResult(stream, ImageProcessState.Unsupported); + } + + using var original = SKBitmap.Decode(memoryBitmapStream); + if (original == null) + { + return new ImageResizeResult(stream, ImageProcessState.Unsupported); + } + + using var resized = original.Resize(new SKImageInfo((int)resizeArgs.Width, (int)resizeArgs.Height), Options.SKSamplingOptions); + using var image = SKImage.FromBitmap(resized); + + var memoryStream = new MemoryStream(); + try + { + using var skData = image.Encode(codec.EncodedFormat, Options.Quality); + skData.SaveTo(memoryStream); + return new ImageResizeResult(memoryStream, ImageProcessState.Done); + } + catch + { + memoryStream.Dispose(); + throw; + } + } + finally + { + memoryBitmapStream.Dispose(); + memorySkCodecStream.Dispose(); + } } - protected virtual async Task<(MemoryStream, MemoryStream)> CreateMemoryStream(Stream stream) + protected virtual async Task<(MemoryStream, MemoryStream)> CreateMemoryStream(Stream stream, CancellationToken cancellationToken = default) { - var streamPosition = stream.Position; + var streamPosition = stream.CanSeek ? stream.Position : 0; var memoryBitmapStream = new MemoryStream(); var memorySkCodecStream = new MemoryStream(); - await stream.CopyToAsync(memoryBitmapStream); - stream.Position = streamPosition; - await stream.CopyToAsync(memorySkCodecStream); - stream.Position = streamPosition; + try + { + await stream.CopyToAsync(memoryBitmapStream, cancellationToken); + + if (stream.CanSeek) + { + stream.Position = streamPosition; + } - memoryBitmapStream.Position = 0; - memorySkCodecStream.Position = 0; + memoryBitmapStream.Position = 0; + await memoryBitmapStream.CopyToAsync(memorySkCodecStream, cancellationToken); - return (memoryBitmapStream, memorySkCodecStream); + memoryBitmapStream.Position = 0; + memorySkCodecStream.Position = 0; + + return (memoryBitmapStream, memorySkCodecStream); + } + catch + { + memoryBitmapStream.Dispose(); + memorySkCodecStream.Dispose(); + throw; + } } protected virtual bool CanResize(string? mimeType) @@ -86,4 +127,15 @@ public class SkiaSharpImageResizerContributor : IImageResizerContributor, ITrans _ => false }; } + + protected virtual bool CanEncodeFormat(SKEncodedImageFormat format) + { + return format switch + { + SKEncodedImageFormat.Jpeg => true, + SKEncodedImageFormat.Png => true, + SKEncodedImageFormat.Webp => true, + _ => false + }; + } } diff --git a/framework/test/Volo.Abp.Imaging.Abstractions.Tests/Volo/Abp/Imaging/Files/abp.gif b/framework/test/Volo.Abp.Imaging.Abstractions.Tests/Volo/Abp/Imaging/Files/abp.gif new file mode 100644 index 0000000000000000000000000000000000000000..27f6a1e4dc09fd3a3115397f5678e2af3cc55ae4 GIT binary patch literal 202188 zcmWieWn2?p7suDd24mFdk&Yfc5OhOg^ayE?k`fRQ6;X7f+aX;_m#9M#K~XkJq$CyN zkD~+|48+{y^WuK)y{~SbbME>6u8plV*(B&As0Ek>0Q}wi^Y`oLCWP2m~)068P3-zy;D&9<%uPhX9E@WExB^W3L8N zmbs^14jtohjx8(&tWNvCco_8Tp~sVffaeeVXCAmcdEh$Lo%rNt-# z+JkoLKs)*V6}!MgyycPu z#In4_l6I5!??sezQVeFmq*yxdPfs0coNLGb6x_6#sQW z<_Zup0b(dAct{#%Bn8sNV#opl>KM4D0$;$%%H8b{m2Rb{O#%Y}0D!^|2tf2-t@*D2 z{%MhO<%T4eE=|M|xBE zRo}py!XcyS_=CX{^V?@p>|*9qThPsRF{W47ka-l<#_ zy`fcooxh$T#u~Bnj>d|nUsf+3O!%VY_LB5X(akcUF|^1sb_hd$xwRI0aBAyI!KI&! zHB5(DW4qvDE9Wgb>->k_w0T)?wp+;HWfB-u zXI|Mo@3FuBj2oHyVQb6jKgO*P@931+a!8R4$IuipQEzHzIZ^IK17Ek1^G z?rE5`8;;-?J)Mh2)tbvaig^Yrt3A?c_nRkj&T17R!CltEl!FF4CSCIPOmt zOm1qN7cKWas`JRv_$m2rqjCO|5;bR^9rIFW)o-Emhh73ij+RyZ6g~UidG_nQm#Qmv z{k~n7|Caf(jW53Y+Ow=K6f$M!F}3?*-nBq$X{^!w`-=;wCVp(a3VxvV{?4oOcdiu( zT>t$g?QC`5&GviM>c79gx^{34)F7_BbSyAfy9V8u#Xy|C$j4xn`}7h<3y^s z%o0Q?f-M+8N)t8Uab-MYHfirA@Qu@Fdm3f8{aQ10&Rvw{vCx5?aPw7{NY zI2)?|#`?}RcPmH#Gj`5V-fb@zuc>7<vd#h_1 zO%=vv}Bar%;0>6H(iVetmf=Ts*uuN|v-ciGVKSlcK49)e@I>)HWd ze#Cswa(71f(rMp>GB@$AiX)nt_AghZBrb1H7Vv|aeupP-^-b4?o44BgzlD9h%aUmE*l6+RyTEU@Gf5kn{44c) zn`SC5NZYp6sZQ+H{-gC-gW^469oZSdkuFP7-6DP;47$}hCpX8Q+%RldxvYFu7(L62 zkkScO`C;+Md@?Gpq~?jZd^YvbG5Xp<%Ykp%Hkh-{qq0 zVG9-EoYc8`%vS6n$ze_`iNQs=*Ma)i9FHfbDInY{EU+z<3<3nW{P()CSUM%{^sRg7 zqk(CI^C?*;G-@!b8Hdh3n+V96|GtWEJudr}aU?&$z47ecjWJtb;O1{n4w28VK-xs{ ziq!WcxQsse;i1|COZm;O>)Y+q$SZ{4r6I}%?+ejV`Qc{qhqPk5^sBgETjbZ?&~
(U+g_LNG+-+A2F_9)rzRStr5$# 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

*k4C+2~#Owt*@e=HFI_GDbr4?=guwAq= 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%0A@N_X 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

    )wWsrpK5_^z)_CXtX* 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%0DX`RAN!K3VWOk7!ySxd!*wp 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 literal 0 HcmV?d00001 diff --git a/framework/test/Volo.Abp.Imaging.Abstractions.Tests/Volo/Abp/Imaging/ImageFileHelper.cs b/framework/test/Volo.Abp.Imaging.Abstractions.Tests/Volo/Abp/Imaging/ImageFileHelper.cs index de249fb2e5..2696bcbd3b 100644 --- a/framework/test/Volo.Abp.Imaging.Abstractions.Tests/Volo/Abp/Imaging/ImageFileHelper.cs +++ b/framework/test/Volo.Abp.Imaging.Abstractions.Tests/Volo/Abp/Imaging/ImageFileHelper.cs @@ -19,7 +19,12 @@ public static class ImageFileHelper { return GetTestFileStream("abp.webp"); } - + + public static Stream GetGifTestFileStream() + { + return GetTestFileStream("abp.gif"); + } + private static Stream GetTestFileStream(string fileName) { var assembly = typeof(ImageFileHelper).Assembly; diff --git a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs index 0963a50fac..dcc1427d55 100644 --- a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs +++ b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs @@ -92,4 +92,27 @@ public class SkiaSharpImageCompressorTests : AbpImagingSkiaSharpTestBase compressedImage1.Result.Dispose(); } + + [Fact] + public async Task Should_Return_Unsupported_For_Gif_Stream() + { + await using var gifImage = ImageFileHelper.GetGifTestFileStream(); + var compressedImage = await ImageCompressor.CompressAsync(gifImage); + + compressedImage.ShouldNotBeNull(); + compressedImage.State.ShouldBe(ImageProcessState.Unsupported); + compressedImage.Result.ShouldBe(gifImage); + } + + [Fact] + public async Task Should_Return_Unsupported_For_Gif_Bytes() + { + await using var gifImage = ImageFileHelper.GetGifTestFileStream(); + var bytes = await gifImage.GetAllBytesAsync(); + var compressedImage = await ImageCompressor.CompressAsync(bytes); + + compressedImage.ShouldNotBeNull(); + compressedImage.State.ShouldBe(ImageProcessState.Unsupported); + compressedImage.Result.ShouldBe(bytes); + } } diff --git a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs index 460c83bf5b..38cdf34059 100644 --- a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs +++ b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs @@ -72,4 +72,27 @@ public class SkiaSharpImageResizerTests : AbpImagingSkiaSharpTestBase resizedImage1.Result.Dispose(); } + + [Fact] + public async Task Should_Return_Unsupported_For_Gif_Stream() + { + await using var gifImage = ImageFileHelper.GetGifTestFileStream(); + var resizedImage = await ImageResizer.ResizeAsync(gifImage, new ImageResizeArgs(100, 100)); + + resizedImage.ShouldNotBeNull(); + resizedImage.State.ShouldBe(ImageProcessState.Unsupported); + resizedImage.Result.ShouldBe(gifImage); + } + + [Fact] + public async Task Should_Return_Unsupported_For_Gif_Bytes() + { + await using var gifImage = ImageFileHelper.GetGifTestFileStream(); + var bytes = await gifImage.GetAllBytesAsync(); + var resizedImage = await ImageResizer.ResizeAsync(bytes, new ImageResizeArgs(100, 100)); + + resizedImage.ShouldNotBeNull(); + resizedImage.State.ShouldBe(ImageProcessState.Unsupported); + resizedImage.Result.ShouldBe(bytes); + } } From 59c92189122273c0b720774cfd2522cfd1345fa8 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 14 May 2026 14:21:54 +0800 Subject: [PATCH 4/8] Document the SkiaSharp imaging provider Update the image-manipulation reference to list SkiaSharp alongside ImageSharp and Magick.NET, and add a SkiaSharp Provider section with installation steps and the SkiaSharpResizerOptions / SkiaSharpCompressOptions configuration knobs. --- .../infrastructure/image-manipulation.md | 68 ++++++++++++++++++- 1 file changed, 65 insertions(+), 3 deletions(-) diff --git a/docs/en/framework/infrastructure/image-manipulation.md b/docs/en/framework/infrastructure/image-manipulation.md index 49a2e74c46..587fab07c7 100644 --- a/docs/en/framework/infrastructure/image-manipulation.md +++ b/docs/en/framework/infrastructure/image-manipulation.md @@ -1,12 +1,12 @@ ```json //[doc-seo] { - "Description": "Learn how to efficiently compress and resize images in your applications using ABP Framework's extensible services powered by ImageSharp and Magick.NET." + "Description": "Learn how to efficiently compress and resize images in your applications using ABP Framework's extensible services powered by ImageSharp, Magick.NET and SkiaSharp." } ``` # Image Manipulation -ABP provides services to compress and resize images and implements these services with popular [ImageSharp](https://sixlabors.com/products/imagesharp/) and [Magick.NET](https://github.com/dlemstra/Magick.NET) libraries. You can use these services in your reusable modules, libraries and applications, so you don't depend on a specific imaging library. +ABP provides services to compress and resize images and implements these services with popular [ImageSharp](https://sixlabors.com/products/imagesharp/), [Magick.NET](https://github.com/dlemstra/Magick.NET) and [SkiaSharp](https://github.com/mono/SkiaSharp) libraries. You can use these services in your reusable modules, libraries and applications, so you don't depend on a specific imaging library. > The image resizer/compressor system is designed to be extensible. You can implement your own image resizer/compressor contributor and use it in your application. @@ -46,10 +46,11 @@ public class YourModule : AbpModule ## Providers -ABP provides two image resizer/compressor implementations out of the box: +ABP provides three image resizer/compressor implementations out of the box: * [Magick.NET](#magick-net-provider) * [ImageSharp](#imagesharp-provider) +* [SkiaSharp](#skiasharp-provider) You should install one of these provides to make it actually working. @@ -334,6 +335,67 @@ Configure(options => }); ``` +## SkiaSharp Provider + +`Volo.Abp.Imaging.SkiaSharp` NuGet package implements the image operations using the [SkiaSharp](https://github.com/mono/SkiaSharp) library. + +## Installation + +You can add this package to your application by either using the [ABP CLI](../../cli) or manually installing it. Using the [ABP CLI](../../cli) is the recommended approach. + +### Using the ABP CLI + +Open a command line terminal in the folder of your project (.csproj file) and type the following command: + +```bash +abp add-package Volo.Abp.Imaging.SkiaSharp +``` + +### Manual Installation + +If you want to manually install; + +1. Add the [Volo.Abp.Imaging.SkiaSharp](https://www.nuget.org/packages/Volo.Abp.Imaging.SkiaSharp) NuGet package to your project: + +``` +dotnet add package Volo.Abp.Imaging.SkiaSharp +``` + +2. Add `AbpImagingSkiaSharpModule` to your [module](../architecture/modularity/basics.md)'s dependency list: + +```csharp +[DependsOn(typeof(AbpImagingSkiaSharpModule))] +public class MyModule : AbpModule +{ + //... +} +``` + +### Configuration + +`SkiaSharpResizerOptions` is an [options object](../fundamentals/options.md) that is used to configure the SkiaSharp image resize system. It has the following properties: + +* `SKSamplingOptions`: The sampling options used by SkiaSharp when resizing. (Default: `SKSamplingOptions.Default`) +* `Quality`: The quality of the encoded image (0-100). (Default: `75`) + +`SkiaSharpCompressOptions` is an [options object](../fundamentals/options.md) that is used to configure the SkiaSharp image compression system. It has the following properties: + +* `Quality`: The quality of the encoded image (0-100). (Default: `75`) + +**Example usage:** + +```csharp +Configure(options => +{ + options.Quality = 80; +}); + +Configure(options => +{ + options.Quality = 60; +}); +``` + ## ASP.NET Core Integration `Volo.Abp.Imaging.AspNetCore` NuGet package defines attributes for controller actions that can automatically compress and/or resize uploaded files. From fc568d1d2d65618b4fbafdb2fe5c14c0d1165b00 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 14 May 2026 14:29:08 +0800 Subject: [PATCH 5/8] Reset position of the resized image stream in SkiaSharp resizer Match the ImageSharp and Magick.NET resizer contributors which return the result stream positioned at the start, so downstream consumers read the bytes instead of getting an empty read at end-of-stream. --- .../Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs index 5e6c9a8f39..872fa99172 100644 --- a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs @@ -71,6 +71,7 @@ public class SkiaSharpImageResizerContributor : IImageResizerContributor, ITrans { using var skData = image.Encode(codec.EncodedFormat, Options.Quality); skData.SaveTo(memoryStream); + memoryStream.Position = 0; return new ImageResizeResult(memoryStream, ImageProcessState.Done); } catch From d1e003833df0e60e0e5f5af38b32bdfb98dea5a1 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 14 May 2026 14:32:01 +0800 Subject: [PATCH 6/8] Assert the result stream is positioned at the start in SkiaSharp tests Existing tests only checked Result.Length which doesn't depend on Position, so a contributor that forgot to seek the result stream back to 0 would still pass. Add an explicit Position == 0 assertion plus a CopyToAsync round-trip that compares the copied length against the result stream length, so the same regression cannot slip in again. --- .../Imaging/SkiaSharpImageCompressorTests.cs | 17 +++++++++++++++++ .../Abp/Imaging/SkiaSharpImageResizerTests.cs | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs index dcc1427d55..0f72658148 100644 --- a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs +++ b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs @@ -93,6 +93,23 @@ public class SkiaSharpImageCompressorTests : AbpImagingSkiaSharpTestBase compressedImage1.Result.Dispose(); } + [Fact] + public async Task Should_Return_Compressed_Stream_Positioned_At_Start() + { + await using var jpegImage = ImageFileHelper.GetJpgTestFileStream(); + var compressedImage = await ImageCompressor.CompressAsync(jpegImage); + + compressedImage.ShouldNotBeNull(); + compressedImage.State.ShouldBe(ImageProcessState.Done); + compressedImage.Result.Position.ShouldBe(0); + + using var copy = new MemoryStream(); + await compressedImage.Result.CopyToAsync(copy); + copy.Length.ShouldBe(compressedImage.Result.Length); + + compressedImage.Result.Dispose(); + } + [Fact] public async Task Should_Return_Unsupported_For_Gif_Stream() { diff --git a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs index 38cdf34059..ecc2c2dd79 100644 --- a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs +++ b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs @@ -73,6 +73,23 @@ public class SkiaSharpImageResizerTests : AbpImagingSkiaSharpTestBase resizedImage1.Result.Dispose(); } + [Fact] + public async Task Should_Return_Resized_Stream_Positioned_At_Start() + { + await using var jpegImage = ImageFileHelper.GetJpgTestFileStream(); + var resizedImage = await ImageResizer.ResizeAsync(jpegImage, new ImageResizeArgs(100, 100)); + + resizedImage.ShouldNotBeNull(); + resizedImage.State.ShouldBe(ImageProcessState.Done); + resizedImage.Result.Position.ShouldBe(0); + + using var copy = new MemoryStream(); + await resizedImage.Result.CopyToAsync(copy); + copy.Length.ShouldBe(resizedImage.Result.Length); + + resizedImage.Result.Dispose(); + } + [Fact] public async Task Should_Return_Unsupported_For_Gif_Stream() { From 7e36451af4dd268d2744309766bdb449bc8ac22a Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 14 May 2026 15:09:10 +0800 Subject: [PATCH 7/8] Implement ImageResizeMode in SkiaSharp resizer and harden compressor - SkiaSharp resizer now honors ImageResizeArgs.Mode (Stretch, Max, Min, Crop, Pad, BoxPad) instead of stretching to the target dimensions regardless of mode. None and Default normalize to Crop to match the ImageSharp contributor. - BoxPad now Max-fits the source into the target box first when the source exceeds it, instead of cropping with negative offsets. - SkiaSharp compressor caches the bitmap stream length before SKBitmap.Decode takes ownership of it, so the post-encode size check no longer accesses a disposed stream and tolerates non-seekable inputs reaching the contributor directly. - Add resizer tests for every mode (exact target size for fixed modes, bounded size for Max/Min, pixel-level transparency check for BoxPad with a source larger than the target), and a compressor test that feeds a non-seekable stream directly to the contributor. --- .../SkiaSharpImageCompressorContributor.cs | 3 +- .../SkiaSharpImageResizerContributor.cs | 140 +++++++++++++++++- .../Imaging/SkiaSharpImageCompressorTests.cs | 44 ++++++ .../Abp/Imaging/SkiaSharpImageResizerTests.cs | 77 ++++++++++ 4 files changed, 262 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageCompressorContributor.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageCompressorContributor.cs index 87912db3fb..c3117d0461 100644 --- a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageCompressorContributor.cs +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageCompressorContributor.cs @@ -28,6 +28,7 @@ public class SkiaSharpImageCompressorContributor : IImageCompressorContributor, } var (memoryBitmapStream, memorySkCodecStream) = await CreateMemoryStream(stream, cancellationToken); + var originalLength = memoryBitmapStream.Length; try { @@ -52,7 +53,7 @@ public class SkiaSharpImageCompressorContributor : IImageCompressorContributor, encoded.SaveTo(output); output.Position = 0; - if (output.Length < stream.Length) + if (output.Length < originalLength) { return new ImageCompressResult(output, ImageProcessState.Done); } diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs index 872fa99172..f17ce81fbb 100644 --- a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs @@ -63,7 +63,7 @@ public class SkiaSharpImageResizerContributor : IImageResizerContributor, ITrans return new ImageResizeResult(stream, ImageProcessState.Unsupported); } - using var resized = original.Resize(new SKImageInfo((int)resizeArgs.Width, (int)resizeArgs.Height), Options.SKSamplingOptions); + using var resized = ApplyResize(original, resizeArgs); using var image = SKImage.FromBitmap(resized); var memoryStream = new MemoryStream(); @@ -139,4 +139,142 @@ public class SkiaSharpImageResizerContributor : IImageResizerContributor, ITrans _ => false }; } + + protected virtual SKBitmap ApplyResize(SKBitmap source, ImageResizeArgs resizeArgs) + { + var targetWidth = (int)resizeArgs.Width; + var targetHeight = (int)resizeArgs.Height; + + if (targetWidth <= 0 && targetHeight <= 0) + { + return source.Copy(); + } + + if (targetWidth <= 0) + { + targetWidth = Math.Max(1, (int)Math.Round((double)source.Width * targetHeight / source.Height)); + } + else if (targetHeight <= 0) + { + targetHeight = Math.Max(1, (int)Math.Round((double)source.Height * targetWidth / source.Width)); + } + + var mode = resizeArgs.Mode == ImageResizeMode.Default ? ImageResizeMode.Crop : resizeArgs.Mode; + if (mode == ImageResizeMode.None) + { + mode = ImageResizeMode.Crop; + } + + switch (mode) + { + case ImageResizeMode.Stretch: + return source.Resize(new SKImageInfo(targetWidth, targetHeight), Options.SKSamplingOptions); + + case ImageResizeMode.Max: + { + var scale = Math.Min((double)targetWidth / source.Width, (double)targetHeight / source.Height); + var newW = Math.Max(1, (int)Math.Round(source.Width * scale)); + var newH = Math.Max(1, (int)Math.Round(source.Height * scale)); + return source.Resize(new SKImageInfo(newW, newH), Options.SKSamplingOptions); + } + + case ImageResizeMode.Min: + { + var scale = Math.Max((double)targetWidth / source.Width, (double)targetHeight / source.Height); + var newW = Math.Max(1, (int)Math.Round(source.Width * scale)); + var newH = Math.Max(1, (int)Math.Round(source.Height * scale)); + return source.Resize(new SKImageInfo(newW, newH), Options.SKSamplingOptions); + } + + case ImageResizeMode.Crop: + { + var scale = Math.Max((double)targetWidth / source.Width, (double)targetHeight / source.Height); + var intermediateW = Math.Max(1, (int)Math.Round(source.Width * scale)); + var intermediateH = Math.Max(1, (int)Math.Round(source.Height * scale)); + using var intermediate = source.Resize(new SKImageInfo(intermediateW, intermediateH), Options.SKSamplingOptions); + + var bitmap = new SKBitmap(targetWidth, targetHeight); + try + { + using var canvas = new SKCanvas(bitmap); + var srcX = (intermediateW - targetWidth) / 2; + var srcY = (intermediateH - targetHeight) / 2; + canvas.DrawBitmap( + intermediate, + new SKRect(srcX, srcY, srcX + targetWidth, srcY + targetHeight), + new SKRect(0, 0, targetWidth, targetHeight)); + return bitmap; + } + catch + { + bitmap.Dispose(); + throw; + } + } + + case ImageResizeMode.Pad: + { + var scale = Math.Min((double)targetWidth / source.Width, (double)targetHeight / source.Height); + var intermediateW = Math.Max(1, (int)Math.Round(source.Width * scale)); + var intermediateH = Math.Max(1, (int)Math.Round(source.Height * scale)); + using var intermediate = source.Resize(new SKImageInfo(intermediateW, intermediateH), Options.SKSamplingOptions); + + var bitmap = new SKBitmap(targetWidth, targetHeight); + try + { + using var canvas = new SKCanvas(bitmap); + canvas.Clear(SKColors.Transparent); + var dstX = (targetWidth - intermediateW) / 2; + var dstY = (targetHeight - intermediateH) / 2; + canvas.DrawBitmap(intermediate, new SKPoint(dstX, dstY)); + return bitmap; + } + catch + { + bitmap.Dispose(); + throw; + } + } + + case ImageResizeMode.BoxPad: + { + SKBitmap? scaled = null; + try + { + var working = source; + if (source.Width > targetWidth || source.Height > targetHeight) + { + var scale = Math.Min((double)targetWidth / source.Width, (double)targetHeight / source.Height); + var newW = Math.Max(1, (int)Math.Round(source.Width * scale)); + var newH = Math.Max(1, (int)Math.Round(source.Height * scale)); + scaled = source.Resize(new SKImageInfo(newW, newH), Options.SKSamplingOptions); + working = scaled; + } + + var bitmap = new SKBitmap(targetWidth, targetHeight); + try + { + using var canvas = new SKCanvas(bitmap); + canvas.Clear(SKColors.Transparent); + var dstX = (targetWidth - working.Width) / 2; + var dstY = (targetHeight - working.Height) / 2; + canvas.DrawBitmap(working, new SKPoint(dstX, dstY)); + return bitmap; + } + catch + { + bitmap.Dispose(); + throw; + } + } + finally + { + scaled?.Dispose(); + } + } + + default: + throw new NotSupportedException("Resize mode " + resizeArgs.Mode + " is not supported!"); + } + } } diff --git a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs index 0f72658148..4c575d9f04 100644 --- a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs +++ b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageCompressorTests.cs @@ -1,4 +1,6 @@ +using System; using System.IO; +using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.DependencyInjection; using Shouldly; @@ -132,4 +134,46 @@ public class SkiaSharpImageCompressorTests : AbpImagingSkiaSharpTestBase compressedImage.State.ShouldBe(ImageProcessState.Unsupported); compressedImage.Result.ShouldBe(bytes); } + + [Fact] + public async Task Should_Handle_Non_Seekable_Stream_Directly_On_Contributor() + { + var contributor = GetRequiredService(); + + await using var jpegImage = ImageFileHelper.GetJpgTestFileStream(); + var bytes = await jpegImage.GetAllBytesAsync(); + await using var nonSeekable = new NonSeekableStream(new MemoryStream(bytes)); + + var compressedImage = await contributor.TryCompressAsync(nonSeekable, "image/jpeg"); + + compressedImage.ShouldNotBeNull(); + compressedImage.State.ShouldBeOneOf(ImageProcessState.Done, ImageProcessState.Canceled); + if (compressedImage.State == ImageProcessState.Done) + { + compressedImage.Result.ShouldNotBe(nonSeekable); + compressedImage.Result.Dispose(); + } + } + + private sealed class NonSeekableStream : Stream + { + private readonly Stream _inner; + public NonSeekableStream(Stream inner) { _inner = inner; } + public override bool CanRead => _inner.CanRead; + public override bool CanSeek => false; + public override bool CanWrite => false; + public override long Length => throw new NotSupportedException(); + public override long Position { get => throw new NotSupportedException(); set => throw new NotSupportedException(); } + public override int Read(byte[] buffer, int offset, int count) => _inner.Read(buffer, offset, count); + public override Task ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) => _inner.ReadAsync(buffer, offset, count, cancellationToken); + public override void Flush() { } + public override long Seek(long offset, SeekOrigin origin) => throw new NotSupportedException(); + public override void SetLength(long value) => throw new NotSupportedException(); + public override void Write(byte[] buffer, int offset, int count) => throw new NotSupportedException(); + protected override void Dispose(bool disposing) + { + if (disposing) _inner.Dispose(); + base.Dispose(disposing); + } + } } diff --git a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs index ecc2c2dd79..593beb506d 100644 --- a/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs +++ b/framework/test/Volo.Abp.Imaging.SkiaSharp.Tests/Volo/Abp/Imaging/SkiaSharpImageResizerTests.cs @@ -1,6 +1,7 @@ using System.IO; using System.Threading.Tasks; using Shouldly; +using SkiaSharp; using Xunit; namespace Volo.Abp.Imaging; @@ -112,4 +113,80 @@ public class SkiaSharpImageResizerTests : AbpImagingSkiaSharpTestBase resizedImage.State.ShouldBe(ImageProcessState.Unsupported); resizedImage.Result.ShouldBe(bytes); } + + [Theory] + [InlineData(ImageResizeMode.None)] + [InlineData(ImageResizeMode.Stretch)] + [InlineData(ImageResizeMode.Crop)] + [InlineData(ImageResizeMode.Pad)] + [InlineData(ImageResizeMode.BoxPad)] + [InlineData(ImageResizeMode.Default)] + public async Task Should_Produce_Exact_Target_Size_For_Fixed_Modes(ImageResizeMode mode) + { + await using var jpegImage = ImageFileHelper.GetJpgTestFileStream(); + var resizedImage = await ImageResizer.ResizeAsync(jpegImage, new ImageResizeArgs(120, 80, mode)); + + resizedImage.State.ShouldBe(ImageProcessState.Done); + using var decoded = SKBitmap.Decode(resizedImage.Result); + decoded.ShouldNotBeNull(); + decoded.Width.ShouldBe(120); + decoded.Height.ShouldBe(80); + resizedImage.Result.Dispose(); + } + + [Fact] + public async Task Should_Produce_Bounded_Size_For_Max_Mode() + { + await using var jpegImage = ImageFileHelper.GetJpgTestFileStream(); + var resizedImage = await ImageResizer.ResizeAsync(jpegImage, new ImageResizeArgs(120, 80, ImageResizeMode.Max)); + + resizedImage.State.ShouldBe(ImageProcessState.Done); + using var decoded = SKBitmap.Decode(resizedImage.Result); + decoded.Width.ShouldBeLessThanOrEqualTo(120); + decoded.Height.ShouldBeLessThanOrEqualTo(80); + (decoded.Width == 120 || decoded.Height == 80).ShouldBeTrue(); + resizedImage.Result.Dispose(); + } + + [Fact] + public async Task Should_Max_Fit_Source_Larger_Than_Target_For_BoxPad_Mode() + { + using var src = new SKBitmap(400, 100); + using (var canvas = new SKCanvas(src)) + { + canvas.Clear(SKColors.Red); + } + using var srcImage = SKImage.FromBitmap(src); + using var srcData = srcImage.Encode(SKEncodedImageFormat.Png, 100); + using var srcStream = new MemoryStream(); + srcData.SaveTo(srcStream); + srcStream.Position = 0; + + var resizedImage = await ImageResizer.ResizeAsync(srcStream, new ImageResizeArgs(100, 100, ImageResizeMode.BoxPad)); + + resizedImage.State.ShouldBe(ImageProcessState.Done); + using var decoded = SKBitmap.Decode(resizedImage.Result); + decoded.Width.ShouldBe(100); + decoded.Height.ShouldBe(100); + + decoded.GetPixel(50, 0).Alpha.ShouldBe((byte)0); + decoded.GetPixel(50, 99).Alpha.ShouldBe((byte)0); + decoded.GetPixel(50, 50).Red.ShouldBeGreaterThan((byte)200); + + resizedImage.Result.Dispose(); + } + + [Fact] + public async Task Should_Produce_Bounded_Size_For_Min_Mode() + { + await using var jpegImage = ImageFileHelper.GetJpgTestFileStream(); + var resizedImage = await ImageResizer.ResizeAsync(jpegImage, new ImageResizeArgs(120, 80, ImageResizeMode.Min)); + + resizedImage.State.ShouldBe(ImageProcessState.Done); + using var decoded = SKBitmap.Decode(resizedImage.Result); + decoded.Width.ShouldBeGreaterThanOrEqualTo(120); + decoded.Height.ShouldBeGreaterThanOrEqualTo(80); + (decoded.Width == 120 || decoded.Height == 80).ShouldBeTrue(); + resizedImage.Result.Dispose(); + } } From e9318edf53bbf3f0175744559919880cec2f4b82 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 14 May 2026 15:23:03 +0800 Subject: [PATCH 8/8] Keep stretch as the default resize mode in SkiaSharp resizer Previously the SkiaSharp resizer ignored ImageResizeArgs.Mode entirely and always stretched, so callers that never specified a mode were implicitly relying on stretch output. Map None and Default to Stretch to preserve that observable behavior while still honoring explicit Max/Min/Crop/Pad/BoxPad values. --- .../Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs index f17ce81fbb..dd7da3251a 100644 --- a/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs +++ b/framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs @@ -159,14 +159,11 @@ public class SkiaSharpImageResizerContributor : IImageResizerContributor, ITrans targetHeight = Math.Max(1, (int)Math.Round((double)source.Height * targetWidth / source.Width)); } - var mode = resizeArgs.Mode == ImageResizeMode.Default ? ImageResizeMode.Crop : resizeArgs.Mode; - if (mode == ImageResizeMode.None) - { - mode = ImageResizeMode.Crop; - } + var mode = resizeArgs.Mode == ImageResizeMode.Default ? ImageResizeMode.Stretch : resizeArgs.Mode; switch (mode) { + case ImageResizeMode.None: case ImageResizeMode.Stretch: return source.Resize(new SKImageInfo(targetWidth, targetHeight), Options.SKSamplingOptions);