From bbc620186a8f844fa4d69161cf0a684e0ca2a6cd Mon Sep 17 00:00:00 2001 From: Salih Date: Thu, 19 Oct 2023 12:00:56 +0300 Subject: [PATCH] Fix the version problem in cms kit --- Directory.Packages.props | 2 +- .../Captcha/SimpleMathsCaptchaGenerator.cs | 20 ++++++++++--------- .../Volo.CmsKit.Public.Web.csproj | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index ae21b20429..91574ec319 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -139,7 +139,7 @@ - + diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Security/Captcha/SimpleMathsCaptchaGenerator.cs b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Security/Captcha/SimpleMathsCaptchaGenerator.cs index bd7f9f0371..f3e1a46403 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Security/Captcha/SimpleMathsCaptchaGenerator.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Security/Captcha/SimpleMathsCaptchaGenerator.cs @@ -116,7 +116,9 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency var random = new Random(); var startWith = (byte)random.Next(5, 10); image.Mutate(ctx => ctx.BackgroundColor(Color.Transparent)); - var fontFamily = SystemFonts.Families.FirstOrDefault(x => x.IsStyleAvailable(options.FontStyle))?.Name ?? SystemFonts.Families.First().Name; + var fontFamily = SystemFonts.Families + .FirstOrDefault(x => x.GetAvailableStyles().Contains(options.FontStyle), SystemFonts.Families.First()) + .Name; var font = SystemFonts.CreateFont(fontFamily, options.FontSize, options.FontStyle); foreach (var character in stringText) @@ -125,7 +127,7 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency var color = options.TextColor[random.Next(0, options.TextColor.Length)]; var location = new PointF(startWith + position, random.Next(6, 13)); image.Mutate(ctx => ctx.DrawText(text, font, color, location)); - position += TextMeasurer.Measure(character.ToString(), new RendererOptions(font, location)).Width; + position += TextMeasurer.MeasureSize(character.ToString(), new TextOptions(font)).Width; } //add rotation @@ -133,7 +135,7 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency image.Mutate(ctx => ctx.Transform(rotation)); // add the dynamic image to original image - var size = (ushort)TextMeasurer.Measure(stringText, new RendererOptions(font)).Width; + var size = (ushort)TextMeasurer.MeasureSize(stringText, new TextOptions(font)).Width; var img = new Image(size + 15, options.Height); img.Mutate(ctx => ctx.BackgroundColor(Color.White)); @@ -146,7 +148,7 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency var y1 = random.Next(0, img.Height); img.Mutate(ctx => - ctx.DrawLines(options.TextColor[random.Next(0, options.TextColor.Length)], + ctx.DrawLine(options.TextColor[random.Next(0, options.TextColor.Length)], RandomTextGenerator.GenerateNextFloat(options.MinLineThickness, options.MaxLineThickness), new PointF[] { new PointF(x0, y0), new PointF(x1, y1) }) ); @@ -154,14 +156,14 @@ public class SimpleMathsCaptchaGenerator : ITransientDependency img.Mutate(ctx => ctx.DrawImage(image, 0.80f)); - Parallel.For(0, options.NoiseRate, i => + Parallel.For(0, options.NoiseRate, _ => { - var x0 = random.Next(0, img.Width); - var y0 = random.Next(0, img.Height); + var x0 = random.Next(0, img.Width - 1); + var y0 = random.Next(0, img.Height - 1); img.Mutate( ctx => ctx - .DrawLines(options.NoiseRateColor[random.Next(0, options.NoiseRateColor.Length)], - RandomTextGenerator.GenerateNextFloat(0.5, 1.5), new PointF[] { new Vector2(x0, y0), new Vector2(x0, y0) }) + .DrawLine(options.NoiseRateColor[random.Next(0, options.NoiseRateColor.Length)], + RandomTextGenerator.GenerateNextFloat(0.5, 1.5), new (x0, y0), new (x0 + 0.01f, y0 + 0.01f)) ); }); diff --git a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Volo.CmsKit.Public.Web.csproj b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Volo.CmsKit.Public.Web.csproj index ac6f26aa08..81d3a66bea 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Public.Web/Volo.CmsKit.Public.Web.csproj +++ b/modules/cms-kit/src/Volo.CmsKit.Public.Web/Volo.CmsKit.Public.Web.csproj @@ -18,7 +18,7 @@ - +