Browse Source

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.
pull/25427/head
maliming 6 days ago
parent
commit
e9318edf53
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 7
      framework/src/Volo.Abp.Imaging.SkiaSharp/Volo/Abp/Imaging/SkiaSharpImageResizerContributor.cs

7
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);

Loading…
Cancel
Save