Skip to content

Commit e1d0bc4

Browse files
committed
设置柔化边缘时,带上对应的尺寸信息
1 parent fac8e15 commit e1d0bc4

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

src/MediaConverters/MediaConverters.Tool/Contexts/SetSoftEdgeEffectTask.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,14 @@
66
public class SetSoftEdgeEffectTask : IImageConvertTask
77
{
88
public float Radius { get; init; }
9+
10+
/// <summary>
11+
/// 要求的图片宽度,如果不指定则使用原图宽度
12+
/// </summary>
13+
public int? ImageWidth { get; init; }
14+
15+
/// <summary>
16+
/// 要求的图片高度,如果不指定则使用原图高度
17+
/// </summary>
18+
public int? ImageHeight { get; init; }
919
}

src/MediaConverters/MediaConverters.Tool/Workers/SetSoftEdgeEffectWorker.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@
22
using DotNetCampus.MediaConverters.Imaging.Effects;
33
using SixLabors.ImageSharp;
44
using SixLabors.ImageSharp.PixelFormats;
5+
using SixLabors.ImageSharp.Processing;
56

67
namespace DotNetCampus.MediaConverters.Workers;
78

89
internal class SetSoftEdgeEffectWorker : WorkerBase<SetSoftEdgeEffectTask>
910
{
1011
protected override void RunCore(Image<Rgba32> image, SetSoftEdgeEffectTask task)
1112
{
13+
if (task.ImageWidth is not null || task.ImageHeight is not null)
14+
{
15+
var width = task.ImageWidth ?? image.Width;
16+
var height = task.ImageHeight ?? image.Height;
17+
image.Mutate(context => context.Resize(width, height));
18+
}
19+
1220
image.SetSoftEdgeEffect(task.Radius);
1321
}
1422
}

0 commit comments

Comments
 (0)