asp.net - 如何在 mvc 6 .net core 5 中使用图像验证码?

标签 asp.net bitmap asp.net-core-mvc

我想知道如何在 mvc 6 .net core 5 GDi+ 中使用图像绘制?引用 systeam.drawing 库未在 .net core 5 中使用我想通过 .net core 5 使用此代码

private static Bitmap GenerateRandomCaptchaImage(string text)
{
    var bitmap = new Bitmap(200, 150);
    var g = Graphics.FromImage(bitmap);

    var pen = new Pen(Color.Yellow);
    var rect = new System.Drawing.Rectangle(0, 0, 200, 150);
    var brush = new SolidBrush(Color.Blue);

   g.DrawRectangle(pen, rect);
   g.FillRectangle(brush, rect);           
   g.DrawString(text, new Font("Georgia", 20), new SolidBrush(Color.Black), 10, 50);

   DrawRandomLines(g);

    g.Dispose();
    return bitmap;
}

private static System.Drawing.Point[] GetRandomPoints()
{
    var rand = new Random();

    System.Drawing.Point[] points = { new System.Drawing.Point(rand.Next(10, 150), rand.Next(10, 150)), new System.Drawing.Point(rand.Next(10, 100), rand.Next(10, 100)) };

    return points;
}

private static void DrawRandomLines(Graphics g)
{
    SolidBrush green = new SolidBrush(Color.Green);

    for (int i = 0; i < 20; i++)
    {
        g.DrawLines(new Pen(green, 2), GetRandomPoints());
    }
}

最佳答案

(目前?)解决方案中不完全支持在 .net Core 中使用 system.drawing
相反,请尝试使用 Mono 的开源 System.Drawing 实现。

哪个是 System.Drawing 替代品? https://github.com/dotnet/corefx/issues/3634

进一步阅读: https://github.com/dotnet/corefx/issues/5921

关于asp.net - 如何在 mvc 6 .net core 5 中使用图像验证码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35894086/

相关文章:

javascript - 服务器控件中 JavaScript 函数的范围

asp.net - 维护用户的最佳实践是什么? aspnet_Users 或新建用户表

c++ - 创建和显示位图

gruntjs - 如何在 Visual Studio 2015 中保存时编译 .less 文件(预览)

Windows 2000 上的 ASP.NET 3.5

c# - Paypal 标准帐户和开发者 API

android - 如何用两个手指滚动位图?

c++ - c++ 中的硬编码位图会产生倾斜的线条

angularjs - ASP.NET Core Web Api 向 AngularJS $http promise 返回错误消息

asp.net-core-mvc - 我应该如何在 .net core 中设置 mvcoptions.enableendpointrouting